三层架构中逻辑层System.NotImplementedException”类型的未经处理的错误

三层架构中逻辑层System.NotImplementedException”类型的未经处理的异常
本帖最后由 u012746728 于 2015-04-10 12:06:06 编辑
数据访问层接口

public interface IUserInfoDAL
    {
        /// <summary>
        /// 添加用户信息
        /// </summary>
        /// <param name="user">用户实体类</param>
        /// <returns>是否成功</returns>
        bool Add(UserInfo user);
  }

数据访问层实现

public  class UserInfoDAL:IUserInfoDAL
    {
        public bool Add(UserInfo user)
        {
            string sql = "insert into userinfo (username,userid,useraddress) values(" + user.UserName + "," + user.UserId + "," + user.UserAddress + ")";
            try
            {
                PostgreSQLHelper.ExecuteSQLNonQuery(sql);
                return true;
            }
            catch
            {
                return false;
            }
        }
   }

逻辑层接口

public interface IUserInfoBLL
    {
        /// <summary>
        /// 添加用户信息
        /// </summary>
        /// <param name="user">用户实体类</param>
        /// <returns>是否成功</returns>
        bool Add(UserInfo user);
     }

逻辑层实现

public  class UserInfoBLL:IUserInfoBLL
    {
        public bool Add(UserInfo user)
        {
                //下面的return为数据访问层工厂动态创建数据访问层接口
                return DALFactory.CreateUserInfoDAL().Add(user);
        }   
    }

服务层代码

public bool AddUser(userinfo user)
        {
            UserInfo User = new UserInfo();
            User.UserName = user.username;
            User.UserId = user.username;
            User.UserAddress = user.useraddress;
              //下面的return是逻辑层动态创建逻辑层接口
            return BLLFactory.CreateUserInfoBLL().Add(User);

        }


上述的代码在客户端调用时总是出现如下错误:
三层架构中逻辑层System.NotImplementedException”类型的未经处理的错误

请大牛帮忙看一下,感激不尽



------解决思路----------------------
引用:
Quote: 引用:

public bool AddUser(userinfo user) ???

还有你看看你的ServiceClient1里有啥是不是空的


public bool AddUser(userinfo user) ???
服务层的AddUser接口实现有问题? 
serviceClient里面就是AddUser方法没有其他的了


你贴一下那个We bService的引用的,会生成一个代码的。
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

public bool AddUser(ECSWinform.UserIn.userinfo user) {
            return base.Channel.AddUser(user);
        }

你应调的是这个吧



实例化所以引用的服务UserIn后,出现的可使用接口只有AddUser。
你认真看AddUser应有两个重载的。


正常的WCF引用的Reference里面接口应该是这样的:

      public bool AddUser(ECSWinform.UserIn.userinfo user) {
            return base.Channel.AddUser(user);
        }
        
        public System.Threading.Tasks.Task<bool> AddUserAsync(ECSWinform.UserIn.userinfo user) {
            return base.Channel.AddUserAsync(user);
        }


可能就是不知道怎么多了个这个东西

internal bool AddUser(ECS.Entity.UserInfo user)
        {
            throw new NotImplementedException();
        }


真心觉得逻辑层有问题可是不知道是什么


那你要好好查一下你自己的代码了。还有你引用的两个类ECS.Entity.UserInfo ECSWinform.UserIn.userinfo 这两个是不一样地。。