VS2010中跨多个Web服务的通用DTO

时间:2010-09-09 13:44:54

标签: c# web-services visual-studio-2010 wcf dto

我有一组共享通用DTO模型的WCF Web服务。

问题在于,当我在Visual Studio 2010中添加服务引用时,为每个Web服务生成的代理都有自己的命名空间(解决方案内部),这意味着我在每个服务引用上基本上都有重复的DTO

有没有一种干净的方式来克服这个并分享dto,而不是在整个服务组中创建一个外观?

干杯。

2 个答案:

答案 0 :(得分:5)

您可以使用Visual Studio的命令行工具svcutil.exe生成它们,而不是通过Visual Studio“添加服务引用”功能创建客户端代理。将URL传递给每个服务的元数据,svcutil应该找出它们共有的类型。

.Net Consuming Web Service: Identical types in two different services

我不确定是否有更容易/更好的方式。

答案 1 :(得分:1)

您应该将DTO放在单独的库中。在客户端项目中添加对该库的引用。您可以从引用的库中将代理生成配置为已使用的对象。 右键单击您的服务引用并选择配置服务引用,在引用的程序集中应该有一个重用类型的选项。