我在我的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代码是否是线程安全的?