我正在开发asp.net web表单项目。 在特定场景中,我想在用户选中/取消选中javascript中的复选框时设置一些会话值。 在JavaScript会话中无法访问,因此我开发了一个Web服务并调用Web服务方法,并且该Web方法将把值设置为session。 这是我的js网络服务电话。
$。AJAX({ async:false, url:baseUrl +'/'+“WebServices / ExtraInfoWebService.asmx / MyWebMethod”, data:{hdnValue:$(“[id $ ='hdnCCSarray']”)。val()}, 成功:gett });
此Web服务调用在具有单个IIS服务器的开发计算机上完美运行,但在多个IIS框的生产环境中失败。我仔细观察并发现这个webservice调用仅在IE浏览器上不起作用。 任何人都有这方面的建议请告诉我。
提前致谢!!!
答案 0 :(得分:0)
如果您在Web场中运行,则意味着您无法使用默认会话存储模式(InProc),因为服务器场的不同节点将无法同步会话值。您将需要使用进程外会话模式。有2个可用:
您可以在this MSDN article
中了解有关不同会话状态模式的更多信息。
甚至更好:重构您的代码,使其完全不依赖于任何会话。我发现拥有一个非无状态的网络服务是一个非常糟糕的设计。