4

除了手动编码 Reference.cs 文件,还有什么方法可以让 Visual Studio 允许多个服务引用共享一个命名空间?

我正在开发一个客户端应用程序,它使用属于同一解决方案的多个服务。类似于 Microsoft 为 MS-Project Server 提供的项目服务接口 (PSI) API。而不是为每个单独的服务引用使用不同的命名空间,例如:

MyProject.ProjectService.ProjectServiceClient
MyProject.ResourceService.ResourceServiceClient
MyProject.TimesheetService.TimesheetServiceClient

如果我们可以将它们全部放入一个命名空间中,那就太好了,例如:

MyProject.Services.ProjectServiceClient
MyProject.Services.ResourceServiceClient
MyProject.Services.TimesheetServiceClient

随之而来的是共享通用代码的能力。例如,如果这些服务中的任何一个暴露了相同的数据合同。现在,如果我想编写我的客户可以使用的代码,我必须为每个服务代理创建一个单独的版本,因为通用合同存在于三个不同的命名空间中。看看我要去哪里?

有可能的?

更新

假设我无权访问服务代码(因为我没有),这意味着共享类库不是一个选项。在这种情况下,我的选择是什么?

4

1 回答 1

1

您可以将这些公共类放入由服务和客户端共享的类库中。然后,Visual Studio 不会为每个服务引用生成类,而是使用公共类库。

于 2011-03-21T19:19:54.337 回答