Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net WCF-创建了三个类_.net_Wcf_Asmx - Fatal编程技术网

.net WCF-创建了三个类

.net WCF-创建了三个类,.net,wcf,asmx,.net,Wcf,Asmx,添加新服务引用时,似乎创建了三个新类。假设我创建了一个名为TestService的服务引用,那么我会看到以下类: TestServiceSoap TestServiceSoapClient TestServiceSoapChannel 我在web服务方面的所有经验都涉及ASMX。但是,我现在需要使用一个WCF web服务,这就是问题的原因。我假设它们是用于WCF web服务的ABC,即地址、绑定、通道,但我没有找到任何支持此假设的内容 我花了半个小时在谷歌上搜索这个问题,很惊讶没有找到答案。我

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

TestServiceSoap
TestServiceSoapClient
TestServiceSoapChannel
我在web服务方面的所有经验都涉及ASMX。但是,我现在需要使用一个WCF web服务,这就是问题的原因。我假设它们是用于WCF web服务的ABC,即地址、绑定、通道,但我没有找到任何支持此假设的内容

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

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


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

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

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

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

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

我不确定为什么前两个接口的命名与接口不同(即,
ITestWebServiceSoap
ITestWebServiceSoapChannel


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

您是否通过添加服务引用添加了引用?听起来您正在查看reference.cs/reference.vb文件,它是自动生成的。不确定前两个类,但最后一个类是用于与服务通信的客户端。你能发布更多的代码吗?这三个文件与端点的ABC不一致。ABC是在应用程序配置中定义的,该配置是与您的类一起生成的。@Tim,我已经添加了更多信息。这有助于回答这个问题吗?@w0051977-根据您的屏幕截图,
TestWebServiceSoap
是一个接口,而不是一个类,它是您的服务合同
TestWebServiceSoapChannel
也是一个接口
TestWebServiceSoapClient
是一个类,它是您与服务通信的代理。谢谢+1.是否有任何证据支持这一点?我找不到。