1

我正在研究 asp.net 网络表单项目。在特定情况下,当用户在 javascript 中选中/取消选中复选框时,我想设置一些会话值。在 JavaScript 中,会话不可访问,因此我开发了一个 Web 服务并调用 Web 服务方法,该 Web 方法会将值设置为会话。这是我的 js Web 服务调用。

$.ajax({ async: false, url: baseUrl + '/' + "WebServices/ExtraInfoWebService.asmx/MyWebMethod", data: { hdnValue: $("[id$='hdnCCSarray']").val() } , 成功:gett });

此 Web 服务调用在具有单个 IIS 服务器的开发机器上完美运行,但在多个 IIS 框的生产环境中失败。我仔细观察,发现这个 webservice 调用仅在 IE 浏览器上不起作用。任何人对此有建议,请告诉我。

提前致谢!!!

4

1 回答 1

0

如果您在 Web Farm 中运行,这意味着您无法使用默认会话存储模式 (InProc),因为该场的不同节点将无法同步会话值。您将需要使用进程外会话模式。有 2 个可用:

  • 状态服务器
  • SQL服务器

您可以在 中阅读有关不同会话状态模式的更多信息this MSDN article

甚至更好:重构您的代码,使其完全不依赖任何会话。我发现拥有一个非无状态的 Web 服务是一个非常糟糕的设计。

于 2013-05-10T06:05:44.990 回答