WCF 运行的时候 报错 提示 “ 同一个协定中不能存在两个名称相同的操作”

来源:互联网 发布:网络电视看不到地方台 编辑:程序博客网 时间:2024/05/22 16:56


1、原因是接口层里面的方法有重载的,

解决方法 :

  1、同一个协定中操作重命名

        [OperationContract]
       ToolAccountDC[] GetToolAccountArr(Guid toolID, int pageSize, int pageIndex);

        [OperationContract]
        ToolAccountDC[] GetToolAccountArr(Guid toolID);

处理结果:

        [OperationContract]
        ToolAccountDC[] GetToolAccountArr(Guid toolID, int pageSize, int pageIndex);

        [OperationContract]
        ToolAccountDC[] GetToolAccountArrAlias(Guid toolID);

  2、同一个协定中 Name 属性取别名   [OperationContract(Name = "别名")]

      如以下代码:

        /// <summary>
        /// 获取分页显示工装登记
        /// </summary>
        /// <param name="toolID">工装ID</param>
        /// <param name="pageSize">一页显示的数目</param>
        /// <param name="pageIndex">页签数</param>
        /// <returns></returns>
        [OperationContract]
        [FaultContract(typeof(FaultDetail))]
        ToolAccountDC[] GetToolAccountArr(Guid toolID, int pageSize, int pageIndex);

        /// <summary>
        /// 根据工装ID,获取工装登记
        /// </summary>
        /// <param name="toolID">工装ID</param>
        /// <returns>工装登记列表</returns>
        [OperationContract(Name = "GetToolAccountArrfromtoolID")]注:name属性起个别名,就ok了
        [FaultContract(typeof(FaultDetail))]
        ToolAccountDC[] GetToolAccountArr(Guid toolID);

阅读全文
0 0