自定义集合类型未在WCF客户端代理端问题上重用

Ift*_*Ali 5 wcf

我在类库项目中定义了以下类型.

[CollectionDataContract()]
   public class OperationException:System.Collections.Generic.Dictionary<string,ExceptionData>
    {
       [DataMember()]
       public bool ExceptionExists { get; set; }
    }

   [DataContract()]
   public class ExceptionData {[DataMember()] public string Msg;}
Run Code Online (Sandbox Code Playgroud)

在我的WCF服务端,我返回一个包含上述类的对象作为这样的子成员变量.

[DataContract()]
public class SaveClient
{
  [DataMember()]
   public string Id;
  [DataMember()]
   public OperationException ExceptionCollection;
}
Run Code Online (Sandbox Code Playgroud)

我在客户端引用了OperationException类库.问题是当我使用Add Service Reference生成代理时,会生成类型字典的OperationException的新定义.我确实将"重用类型"选项设置为true.我喜欢使用实际的'OperationException'类型,因为我必须将此对象传递给其他方法.

提前致谢..!

伊夫蒂哈尔.

Wou*_*ort 1

您的客户端代理程序集是否具有对添加类型的类库的项目引用?

如果 svcutil 生成的代理不是您想要的,手动编写它们也很容易。只需创建您自己的 ClientBase 派生类并在其上实现您的服务接口即可。然后您就可以控制要重用的程序集类型。