SoapHttpClientProtocol,该方法是否每次都调用打开一个新连接?

时间:2012-06-11 13:33:19

标签: c# .net

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

是否有人可以告诉我每个方法调用是否会打开一个新连接,或者是否重用了连接?

如果没有重复使用,怎么可以重复使用?

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

我不确定2.0服务,但对于WCF,它取决于您如何调用服务客户端。据我所知,一般情况下,连接保持打开状态,直到你关闭它,或者直到它失去范围(不一致)。因此,一旦它是WCF服务,实例化客户端,进行所有调用,然后关闭它。我想现在最好的做法是将它包装在try / catch中并使用catch块.abort客户端。不过,根据我的经验,如果您的服务松散耦合,并且您不想管理大量数据,那么重复连接并不是一件大事。

一方认为:如果您的服务正在执行类似打开SQL连接的操作,请记住,无论客户端的连接状态如何,都将在每次服务调用时建立sql连接。这是一种肮脏的情况,你可能想要围绕服务内部的sql连接来完成你的操作并返回一个数据集或某种形式的DTO来保存自己在客户端和服务之间的网球匹配。