当我重定向到ASP.NET MVC中的另一个网站时,如何保持会话

时间:2015-05-08 16:53:21

标签: c# asp.net asp.net-mvc asp.net-mvc-4 session-variables

网站A向网站B发帖,B表示" OK"并将对象存储到会话中。阅读" OK"然后将用户重定向到B.此时,会话对象为空。 两个网站都在同一个域中。 当我进行重定向时,我需要保持对象会话

2 个答案:

答案 0 :(得分:3)

从MSDN“ASP.NET会话状态使您能够在用户在Web应用程序中导航ASP.NET页面时存储和检索用户的值。”

您正在讨论将值从一个Web应用程序持久化到另一个Web应用程序,会话状态不是为此而设计的。

您需要将值保存到可用于ASP.Net缓存或数据库等应用程序的商店。

虽然如上所述,会话状态可以配置为持久保存到数据库,因为IIS通过会话对象管理该数据库,它仍然阻止访问会话数据交叉应用程序。

答案 1 :(得分:1)

有许多明星必须协调才能发挥作用:

  1. 这两个网站必须位于该网域的同一个域或子域中。如果你正在处理两个完全不同的域名,那么你就不幸了。

  2. 两个站点的会话模式必须是他们都可以访问的StateServer或SQL Server。如果是SQL Server,则必须将会话保留在两个站点都可以访问的数据库中。

  3. 您需要将每个站点的计算机密钥配置为相同。请参阅:https://technet.microsoft.com/en-us/library/cc755177%28v=ws.10%29.aspx