C# SoapHttpClientProtocol,该方法是否每次调用打开新连接?

C# SoapHttpClientProtocol,该方法是否每次调用打开新连接?,c#,.net,C#,.net,我已经导入了wsdl。我用web服务的方法得到了这个类。班级 派生自SoapHttpClientProtocol 有谁能告诉我,是否每次方法调用都会打开一个新连接,或者该连接是否被重用 如果不重复使用,如何重复使用 最后一个问题,我能让一个客户成为WCF客户吗?以及如何导入wsdl 为wcf 谢谢 要使其成为WCF服务,您必须创建一个接口,而不是简单地装饰方法。要将其导入到项目中,其工作方式相同 我不确定2.0服务,但对于WCF,这取决于如何调用服务客户端。据我所知,一般来说,连接保持打开状态,

我已经导入了wsdl。我用web服务的方法得到了这个类。班级 派生自SoapHttpClientProtocol

有谁能告诉我,是否每次方法调用都会打开一个新连接,或者该连接是否被重用

如果不重复使用,如何重复使用

最后一个问题,我能让一个客户成为WCF客户吗?以及如何导入wsdl 为wcf


谢谢

要使其成为WCF服务,您必须创建一个接口,而不是简单地装饰方法。要将其导入到项目中,其工作方式相同

我不确定2.0服务,但对于WCF,这取决于如何调用服务客户端。据我所知,一般来说,连接保持打开状态,直到您关闭它,或者直到它不一致地失去作用域。因此,一旦它成为WCF服务,实例化客户端,进行所有调用,然后关闭它。我想现在最好的做法是用try/catch将其包装起来,并使用catch块。中止客户端。不过,根据我的经验,如果您的服务是松散耦合的,并且您没有尝试通过管道传输大量数据,那么重复连接就不是什么大问题

另一个想法是:如果您的服务正在执行类似于打开SQL连接的操作,那么请记住,无论客户端的连接状态如何,每次服务调用都会进行SQL连接。这是一种肮脏的情况,在这种情况下,您可能希望在服务内部使用sql连接来完成操作,并返回数据集或某种形式的数据,以避免客户机和服务之间的网球赛