c# - 从桌面客户端调用时 SessionState 集合项消失

标签 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 ?

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

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

最佳答案

以下为我完成了工作:

  1. 添加旧版网络引用而不是服务引用。
  2. 使用 SoapClient.CookieContainer,例如 Implementing session in SOAP Client

关于c# - 从桌面客户端调用时 SessionState 集合项消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41743728/

相关文章:

c# - 在 ASP.net 数据访问应用程序中跟踪用户操作

c# - 我可以在安装 NuGet 包时解决添加这些 .dll 问题吗?

asp.net - 允许远程访问 IIS 7.5

c# - 依赖注入(inject)-通俗解释

java - 如何编写 Java 客户端来访问 WSDL 文件?

.NET:Web 服务文档的自定义格式?

c# - 对于 C# 中的匹配,Regex 实例线程是否安全

c# - 需要帮助找出返回类型

javascript - ASP.NET - 我可以在 javascript 中处理 "ASP.NET client-side validation has succeeded"事件吗?

web-services - 提取使用 Tomcat Valve 接收到的 SOAP 消息的方法是什么