WCF - 创建了三个类

时间:2013-09-12 21:08:19

标签: .net wcf asmx

添加新的服务引用时,似乎会创建三个新类。假设我创建了一个名为TestService的服务引用,然后我看到了以下类:

TestServiceSoap
TestServiceSoapClient
TestServiceSoapChannel

我在Web服务方面的所有经验都涉及ASMX。但是,我现在需要使用WCF Web服务,因此需要使用该问题。我假设它们是用于WCF Web服务的ABC,即Address,Binding,Channel,但我没有找到任何支持这种假设的东西。

我花了半个小时谷歌搜索这个并且惊讶没有找到答案。我相信这里会有类似的问题,但我找不到它。

更新14/09/13 09:53 请看下面的屏幕截图:

enter image description here

请注意,解决方案资源管理器中有一个名为HelloWorldServiceReference的服务引用。我可以选择创建上面三个类之一的实例。

1 个答案:

答案 0 :(得分:1)

屏幕截图肯定有帮助。看起来你拥有的是两个接口和一个类,而不是三个类。如果没有看到您的服务代码或reference.cs,这里有一个有根据的猜测:

TestWebServiceSoap很可能是您服务的合同(界面)。

TestWebServiceSoapChannel也是一个接口,它实现了服务契约(接口)和IClientChannel接口。 IClientChannel“定义客户端应用程序使用的出站请求和请求/回复通道的行为。”

TestWebServiceSoapClient是一个类,这是您的应用程序用于与服务通信的代理。它源自System.ServiceModel.ClientBase<T>,其中T是您的服务合同。

我不确定为什么前两个接口没有像接口那样命名(即ITestWebServiceSoapITestWebServiceSoapChannel)。

但最重要的类是TestWebServiceSoapClient类,正如我所说的那样是你的代理。