我在我的 MVC 应用程序中调用 SOAP Web 服务,使用通过在 Visual Studio 中添加服务引用创建的 SoapClient。
标准用法代码如下所示并且工作正常:
public ActionResult myControllerAction() {
ServiceSoapClient soapPort = new ServiceSoapClient();
ServiceResponse response = soapPort.myService(new ServiceRequest());
...
为了最大限度地减少对象创建,我想在我的控制器中使用静态 SoapClient 并在我的所有控制器操作中重用它,但是我没有一个很好的测试来给系统施加并发负载来确定是否生成的 SoapClient 是可重入的。
private static ServiceSoapClient soapPort = new ServiceSoapClient();
public ActionResult myControllerAction() {
ServiceResponse response = soapPort.myService(new ServiceRequest());
...
任何人都知道生成的 SoapClient 代码是否是线程安全的?