相关疑难解决方法(0)

WCF服务参考生成自己的合同接口,不会重用我的

我的第一个问题是希望它是合适的:

共享接口程序集 - 我有一个'共享'程序集,它有一个接口,我们可以调用它IDocRepository.它标有,[ServiceContract]并有几个[OperationContract]标记的方法.

WCF实现程序集 - 我有两个WCF服务项目,每个项目都引用共享程序集,每个项目都将该接口实现为WCF服务.

消费者组装 - 最后,我有一个'客户'项目,也引用了共享程序集,并引用了两个WCF服务.

但是,使用者程序集中生成的服务引用来自自动生成的接口版本:

public partial class ExampleClient : System.ServiceModel.ClientBase<SomeNamespace.ExampleSvcRef.IDocRepository>, SomeNamespace.ExampleSvcRef.IDocRepository {
Run Code Online (Sandbox Code Playgroud)

我所期望的
我希望两个引用都会自动继承我定义的接口,消费者/客户端程序集也引用它.有点像它为参数和返回类型提供的类的重用,但对于服务接口.

为什么
我可以创建一个服务引用代理的实例并将其转换为我的接口类型.

所以我每次都可以手工修改生成的代码,但应该有更好的方法......?

(编辑:我在两个服务引用中都选择了"在引用的程序集中重用类型"和"在所有引用的程序集中重用类型"选项)

c# wcf reference reusability

39
推荐指数
1
解决办法
2万
查看次数

添加服务引用时会忽略"重用现有类型"

我正在为Visual Studio 2008中的一个项目添加服务引用.在"服务引用设置"屏幕上,我选择了"在所有引用的程序集中重用类型"的默认选项.我引用了我想要重用一个类型的项目.该类型作为参数传递给Web方法.

但是,生成References.cs文件时,它仍会创建该类型的重复代理版本.有什么我想念的吗?您是否需要对引用类型执行任何特殊操作?也许添加一些特殊属性?

.net web-services visual-studio-2008

5
推荐指数
2
解决办法
6628
查看次数