C# VS2010中跨多个web服务的通用DTO

C# VS2010中跨多个web服务的通用DTO,c#,web-services,visual-studio-2010,wcf,dto,C#,Web Services,Visual Studio 2010,Wcf,Dto,我有一组WCF web服务,它们共享一个通用DTO模型 问题是,当我在VisualStudio2010中添加服务引用时,为每个web服务生成的代理都有自己的名称空间(在解决方案内部),这意味着我在每个服务引用上都有重复的DTO 除了在整个服务组上创建一个门面之外,有没有一种干净的方法来克服这个问题并共享dto 干杯。您应该将DTO保存在单独的库中。在客户端项目中添加对该库的引用。您可以将代理生成配置为引用库中的已用对象。 右键单击您的服务引用并选择“配置服务引用”。在引用的程序集中应该有一个重用

我有一组WCF web服务,它们共享一个通用DTO模型

问题是,当我在VisualStudio2010中添加服务引用时,为每个web服务生成的代理都有自己的名称空间(在解决方案内部),这意味着我在每个服务引用上都有重复的DTO

除了在整个服务组上创建一个门面之外,有没有一种干净的方法来克服这个问题并共享dto


干杯。

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

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


我不确定是否有更简单/更好的方法。

同意,这是最好的方法。您甚至可以将其构建到您的自动构建过程中……这是一种享受。另外,正如Simon Lee所评论的,添加了一个自动生成步骤来自动生成。干杯,伙计们。