添加新的服务引用时,似乎会创建三个新类。假设我创建了一个名为TestService的服务引用,然后我看到了以下类:
TestServiceSoap
TestServiceSoapClient
TestServiceSoapChannel
我在Web服务方面的所有经验都涉及ASMX。但是,我现在需要使用WCF Web服务,因此需要使用该问题。我假设它们是用于WCF Web服务的ABC,即Address,Binding,Channel,但我没有找到任何支持这种假设的东西。
我花了半个小时谷歌搜索这个并且惊讶没有找到答案。我相信这里会有类似的问题,但我找不到它。
更新14/09/13 09:53 请看下面的屏幕截图:
请注意,解决方案资源管理器中有一个名为HelloWorldServiceReference的服务引用。我可以选择创建上面三个类之一的实例。
答案 0 :(得分:1)
屏幕截图肯定有帮助。看起来你拥有的是两个接口和一个类,而不是三个类。如果没有看到您的服务代码或reference.cs,这里有一个有根据的猜测:
TestWebServiceSoap
很可能是您服务的合同(界面)。
TestWebServiceSoapChannel
也是一个接口,它实现了服务契约(接口)和IClientChannel
接口。 IClientChannel
“定义客户端应用程序使用的出站请求和请求/回复通道的行为。”
TestWebServiceSoapClient
是一个类,这是您的应用程序用于与服务通信的代理。它源自System.ServiceModel.ClientBase<T>
,其中T
是您的服务合同。
我不确定为什么前两个接口没有像接口那样命名(即ITestWebServiceSoap
和ITestWebServiceSoapChannel
)。
但最重要的类是TestWebServiceSoapClient
类,正如我所说的那样是你的代理。