How to maintain the same session id across multiple web applications in ASP.NET

后端 未结 3 517
不知归路
不知归路 2020-12-09 13:36

I have two identical applications setup on IIS on different virtual directories (I have done some workaround to ensure that they both have the same application name). Is the

3条回答
  •  醉话见心
    2020-12-09 14:17

    First, configure the sessionState element in your web.config to use cookieName="SOME_COOKIE_NAME_HERE" in both apps.

    Then, just make sure the urls have the same TLD (top-level domain), i.e. app1.mydomain.com and app2.mydomain.com and you should be able to handle the Session_Start event in Global.asax and put this code:

        HttpCookie cookie = new HttpCookie("SOME_COOKIE_NAME_HERE", Session.SessionID.ToString());
        cookie.Expires = DateTime.Now.AddMinutes(20);
        cookie.Domain = "*.mydomain.com";
        cookie.HttpOnly = true;
        Response.SetCookie(cookie);
    

    Also, I would recommend that you go with the SqlServer SessionState Mode.

提交回复
热议问题