我已经导入了wsdl。我得到了带有网络服务方法的课程。该类派生自 SoapHttpClientProtocol。
谁能告诉我每个方法调用是否都会打开一个新连接,或者该连接是否被重用?
如果不重用怎么能重用?
最后一个问题,我可以让客户成为 WCF 客户吗?以及如何为 wcf 导入 wsdl?
谢谢!
要使其成为 WCF 服务,您必须创建一个接口,而不是简单地装饰方法。要将其导入您的项目,它的工作方式相同。
我不确定 2.0 服务,但对于 WCF,这取决于您如何调用服务客户端。据我所知,一般来说,连接会保持打开状态,直到您关闭它,或者直到它失去范围(不一致)。因此,一旦它是 WCF 服务,就实例化客户端,进行所有调用,然后关闭它。我想现在最好的做法是将它包装在 try/catch 中并让 catch 块 .abort 客户端。不过,根据我的经验,如果您的服务是松散耦合的,并且您不想通过管道传输大量数据,那么重复连接并不是什么大问题。
不过有一个想法:如果您的服务正在执行诸如打开 SQL 连接之类的操作,请记住,无论客户端的连接状态如何,每次服务调用都会建立 sql 连接。这是您可能想要在服务内部使用 sql 连接以完成操作并返回数据集或某种形式的 DTO 以节省客户端和服务之间的网球比赛的肮脏情况之一。