在ASP.NET应用程序之间传递会话数据
我们有几个ASP.NET应用程序部署到几个服务器。有没有一种标准方式来重用会话数据或其他方法,以便在从应用程序转移到应用程序时不要求用户登录到下一个应用程序(如果它们已经通过身份验证)?我希望有一个这样做的最佳实践方式,你们知道。我觉得应该有一些容易丢失的东西。在ASP.NET应用程序之间传递会话数据
谢谢。
编辑:为了更清楚起见,我想传递的会话中的主要信息是经过身份验证的用户标识,但也可能包含其他一些会话变量。
对于会话确认这一点:http://www.codeproject.com/KB/aspnet/Sharing_session_state.aspx
补这个所以cookie将被共享:http://mgrzyb.blogspot.com/2007/12/aspnet-and-subdomains.html
会话位,我不认为会有什么跨子域工作,因为默认情况下,会话cookie具有完整的主机名。 – chris 2009-03-05 19:18:31
从你的问题,如果你只是关心登录,或者如果你真的需要应用程序之间共享会话数据目前尚不清楚。
假设是后者,你可以尝试这样的事:
-
第一,确保所有appliations在同一个域中运行。如果没有,所有投注都关闭。我不知道是否有简单的方法来配置会话cookie的域属性,所以您可能必须自行完成,方法是将cookie域属性设置为域:
Response.Cookies [“ASP .NET_SessionId“]。Domain =”.mydomain.com“;
您需要确保每个应用程序都配置为使用通用状态服务器或数据库支持的会话。
共享一个登录应用程序之间(上面覆盖)是一个完全不同的球赛共享ASP.NET应用程序会话之间。
为什么要在应用程序之间共享会话?
ASP.NET会话是用户与一个ASP.NET应用程序当前交互的隐喻。它存在于ASP.NET中,为我们提供了一个地方,可以在用户在使用应用程序时所做的各种页面请求之间存储临时状态数据。
如果您的应用程序密切相关,例如用户同时或几乎同时使用两者,您可以考虑将它们合并到一个ASP.NET应用程序中。
如果您的应用程序不是密切相关的,也许他们应该共享相同的数据库作为交换数据的手段,或者使用API基于Web服务交换信息。
希望有所帮助。
认证和会话是2个独立的(虽然相关的)问题,回答了我的回应 – eglasius 2009-03-05 19:42:24