我有两个WCF服务(不同的项目),共享一个定义了MyExceptions的类库。
这两种服务都使用:
[OperationContract]
[FaultContract(typeof(MyException))]
void op();当我在客户端项目中添加两个引用时,我得到:
类型namespace.MyException已经用相同的参数类型定义了一个名为MyException的成员。
基本上,类具有相同的名称,因此构造函数定义了两次。知道如何更改异常命名空间吗?
请注意:
谢谢
发布于 2013-04-04 18:57:50
使用svcutil /reference:SharedLibrary.dll创建代理。这样,svcutil就不会生成它在SharedLibrary.dll中找到的类,因此客户端使用来自程序集的类定义。
不要忘记在客户端项目中添加对DLL的引用,如果您还没有这样做的话。
发布于 2013-04-04 18:49:38
除了命名空间建议之外,可以做的是编辑SVCUTIL生成的代理代码,并删除MyException类的重复代码。
步骤: 1.为Service1创建一个代理文件。2.为Service2创建代理文件。3.向客户添加代理。4.编译并给出了已经声明MyException的错误。5.编辑其中一个代理并删除MyException类代码。
https://stackoverflow.com/questions/15807696
复制相似问题