2016-10-22 8 views
0

wwwがない場合はwww.website.comからwebsite.comにリダイレクトされるとセッションが失われることがわかりました。MVC 4セッションが失われる理由www.website.comからwebsite.comへ

しかし、すべてのリダイレクトがwwwで始まるようにサーバーを設定できることは非常に幸運です。将来私はアプリケーションをサーバーに依存させたくないので、コードに依存させたいと思っています。例えば

@Html.Hidden("PageManagerUrl", Url.Action("PageManager","Admin"))/Admin/PageManager/を生成し、URLは/Admin/PageManager/あるとき、私はLOCATION.HREF = URLを(使用

私が初めてで、私のセッションを失うことは100%確実ではないです。リダイレクトのが、私はそれをテストしたとき、私はに設定し、サーバーをセットアップした後に戻ってリダイレクトすると、第三または第四の時間については、転送、セッションが失われます。セッションは、NEある

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.` 

。 verは再び失われた。ですから、私のセッションを失うことなく最良のリダイレクトを行う方法は?私にコントローラとjavascript/viewsからそれを行う方法の例を教えてください。

+0

あなたのアプリケーションプールに応じて、リダイレクトが発生したときにリサイクルプロセスが発生すると、セッション状態が失われる可能性があります。おそらく、データベースに保存されたセッションの内容に基づいてユーザーセッションを管理するために、SQL Serverセッション状態管理を試すことがあります。 –

+0

アプリケーションプールリサイクルはありません、私はそれらをチェックしました。これは何かの理由によるものです –

答えて

0

global.asaxファイルはありますか?

「はい」の場合は、これらの2つの方法の署名が含まれているかどうかを確認してください。

保護され、ボイドのsession_start(オブジェクト送信者、EventArgsの電子) {

}

保護され、ボイドのSession_End(オブジェクト送信者、EventArgsのe)の {

}

+0

これは参考になるかもしれませんが、セッション終わりの原因が何であるかを判断するにはどちらのコードにどのコードを挿入すべきですか? –

関連する問題