【发布时间】:2018-07-09 00:47:22
【问题描述】:
我有一个名为 SERVICE_ABC 的服务项目。
(You can download my example project in this link)
在这个项目中,我定义了 3 个 WCF 服务:
- Service_A
- Service_B
- Service_C
这 3 个服务在 SERVICE_ABC 项目中使用相同的数据协定类。例如这 3 个使用 PersonelDTO 类作为数据契约的服务。
我的问题是这样的:如果我调用返回 PersonelDTO 类型的服务函数,我必须得到这个结果:
ServiceReference_A.PersonelDTO DataA = clientA.GetMyData();
ServiceReference_B.PersonelDTO DataB = clientB.GetMyData();
ServiceReference_C.PersonelDTO DataC = clientC.GetMyData();
但我想这样定义:
PersonelDTO DataA = clientA.GetMyData();
PersonelDTO DataB = clientB.GetMyData();
PersonelDTO DataC = clientC.GetMyData();
(如果我这样做,Visual Studio 会给出一个错误,例如“PersonelDTO 是 ServirceA、ServiceB 和 ServiceC 之间的模糊引用”) 也就是说,我只想在 MVC 控制器中使用一种数据类型。因为 PersonelDTO 类在 SERVICE_ABC 项目中是相同的。所以我不想像 blabla1.PersonelDTO , blabla2.PersonelDTO 那样专门化每个 PersonelDTO
我该怎么做?
【问题讨论】:
-
我已经阅读了这篇文章,但我不明白如何使用 svcutl
-
svcutil /dconly
这个代码在本文中没有明确。 -
路径,您的类库的 dll 文件位于您的 PC 示例中的位置(C:/documents/VSrpojects/service_abc/myclasslibrary/bin/debug/myclasslibrary.dll)
-
svcutil /dconly C:/documents/VSrpojects/service_abc/myclasslibrary/bin/debug/myclasslibrary.dll
标签: c# wcf web sharing datacontract