我有一种丑陋的情况。
我有一个大型程序,它使用会话将数据从一个页面转移到另一个页面,在ASP.NET 3.5 C#的CRM系统中构建
问题在于,如果您在同一个浏览器中打开此程序的两个实例并浏览同一页面,那么会话当然会被覆盖。
您可以想象,这是一个巨大的问题,也是系统的巨大责任。
在这里做什么是正确的?我使用大量的AJAX,并且需要在页面之间传递对象,所以url参数在这里不是一个选项。
有什么建议吗?
答案 0 :(得分:2)
您的web.config sessionState配置了什么?我认为在您的情况下,您可以通过如下配置来降低问题的严重性:
<configuration>
<system.web>
<sessionState mode="InProc" cookieless="true" timeout="20"/>
OR
<sessionState cookieless="true" regenerateExpiredSessionId="true" timeout="20" />
</system.web>
</configuration>
但后者会破坏你的网址。最终,ASP.NET将会话ID插入到您的URL中,例如http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/orderform.aspx
。 More about it here