0

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

TestServiceSoap
TestServiceSoapClient
TestServiceSoapChannel

我在 Web 服务方面的所有经验都涉及到 ASMX 种类。但是,我现在需要使用 WCF Web 服务,这就是问题的原因。我假设它们适用于 WCF Web 服务的 ABC,即地址、绑定、通道,但我没有找到任何支持这个假设的东西。

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

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

在此处输入图像描述

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

4

1 回答 1

1

截图肯定有帮助。看起来您拥有的是两个接口和一个类,而不是三个类。在没有看到您的服务代码或 reference.cs 的情况下,以下是关于它们是什么的有根据的猜测:

TestWebServiceSoap很可能是您的服务的合同(接口)。

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

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

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

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

于 2013-09-14T09:29:11.953 回答