【问题标题】:Window.Open Killing Session and CookiesWindow.Open 杀死会话和 Cookie
【发布时间】:2014-11-19 03:38:20
【问题描述】:

当用户单击链接按钮时,我试图从后面的代码中打开一个新窗口,但是我的应用程序 cookie 和会话被终止,因为用户无法在请求页面上执行任何操作,但我可以正确地看到带有响应的窗口网址。为什么会发生这种情况,在响应期间我没有对 cookie 做任何事情。我正在使用以下帖子Response.Redirect to new window

        string url = "XYZ"
        string target = "";
        string windowFeatures = "menubar=0,scrollbars=1,width=780,height=900,top=10";
        script = @"window.open(""{0}"", ""{1}"", ""{2}"");";
        script = String.Format(script, url, target, windowFeatures);
        ScriptManager.RegisterStartupScript(page, typeof(Page), "Redirect", script, true);

【问题讨论】:

    标签: c# asp.net cookies session-cookies


    【解决方案1】:

    您的会话实际上存储在 asp.net cookie 中,因此我认为您的 cookie 在新窗口中无效。

    由于某种原因,您的网址是否不同? Cookie 不会跨域共享,因此如果您的主应用位于“123.com”而您的新窗口位于“XYZ.com”,则它们将无法访问彼此的 Cookie。这意味着没有会话等。

    如果您不在不同的域中,那么会发生其他事情(特定代码)正在清除您的 cookie。例如,如果由于某种原因,您的新窗口正在其他浏览器中打开(这需要一些有趣的代码),或者您的浏览器正在擦除 cookie。

    如果您需要更多帮助,请发布更多代码,以便我们获得更多上下文。

    【讨论】:

    • 我没有共享 cookie 我只是想用“xyz.com” url 显示一个新窗口,用户只会在我们的应用程序上,但问题是当我显示新窗口时我的应用程序会话被终止。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 2011-12-19
    • 2012-12-31
    • 1970-01-01
    • 2019-08-18
    相关资源
    最近更新 更多