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