MVC 4丢失会话,因为重定向从www.website.com到website.com

时间:2016-10-22 04:42:12

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

我刚刚意识到,在没有www的情况下从www.website.com重定向到website.com会话时会丢失。

但是我很幸运,我可以设置服务器所以所有重定向都以www开头。将来我不希望我的应用程序依赖于服务器,我想让它依赖于代码。

例如:

@Html.Hidden("PageManagerUrl", Url.Action("PageManager","Admin")) 生成/Admin/PageManager/,我使用location.href = url(当网址为/Admin/PageManager/时。

我不是100%肯定我会在第一次重定向时丢失会话,但是当我测试它但是重新定向前后,大约第3或第4次时,会话将丢失。将服务器设置设置为:

Preferred domain * www.website.com

Select the URL (either with or without the www. prefix) to which site visitors will be redirected via a SEO-safe HTTP 301 redirect.`

会话永远不会再次丢失。所以我想知道,如何在不丢失会话的情况下进行最佳重定向?请举例说明如何从控制器和javascript / views中进行操作。

1 个答案:

答案 0 :(得分:0)

你有任何global.asax文件吗?

如果是,那么请检查它是否包含这两种方法签名。

protected void Session_Start(object sender,EventArgs e) {

}

protected void Session_End(object sender,EventArgs e) {

}