我有几个桌面应用程序现在正在转换为Web服务,因此第三方Web应用程序可以使用两者的服务。现在,两个应用程序的某些模块具有类似的功能,我们真的想要使用相同的接口但不同的实现。
所以假设服务接口/契约中有一个getUser(string id)方法,我是否必须将其改为getUser(string id,string appId)?
这适用于.NET Web服务,但我没有倾向于SOAP或REST(或WebAPI)。我不太关心编码部分。
答案 0 :(得分:1)
您需要为服务(接口)定义不同的服务端点。这意味着您需要两个不同的接口而不仅仅是实现。例如,如果您要在WCF中创建服务,则需要定义两个不同的服务,每个服务都具有如下定义的不同端点(URN):
<services>
<service name="MyService">
<endpoint address ="http://something"
...</service>
<service name="MyOtherService">
<endpoint address = "http://somethingelse"