从桌面客户端调用时,SessionState Collection项目消失

时间:2017-01-19 14:05:18

标签: c# asp.net web-services iis soap

我的计算机上有一个遗留的ASP.NET soap Web服务。该服务具有以下注释:

 [WebMethod(EnableSession = true)]

有几种方法,并使用Session属性保存一些信息:

Session[CONSTANT] = some_value;

当我在浏览器(Chrome和Internet Explorer)中一个接一个地调用Web服务的不同方法时保留此值,但是当我从Powershell或Visual Studio中创建的代理调用服务方法时,不会保留此值。 我是否必须在客户端上设置一些参数以保留会话?

在另一台计算机上安装了相同的服务,并且在方法调用之间不会保留存储在Session中的值,即使在浏览器中也是如此。在这种情况下,我是否需要更改Web服务器中的某些参数?

在这两种情况下,Web服务都托管在IIS中。

1 个答案:

答案 0 :(得分:1)

以下为我完成了这项工作:

  1. 添加旧版网络参考而非服务参考。
  2. 使用SoapClient.CookieContainer之类的 Implementing session in SOAP Client