ローカル(.Net 4.5)のASP MVCサイトを実行しており、セッションから値を取得しようとしているときに問題が発生しています。上記のユーザー名は一例でありnullを返すセッション値
public static void SetSessionValue(string key, object value)
{
HttpContext.Current.Session[key] = value;
}
public static object GetSessionValue(string key)
{
return HttpContext.Current.Session[key];
}
AjaxController.cs
public ActionResult SetUserName(string username)
{
Helpers.SetSessionValue("username", username);
}
public ActionResult GetUserName()
{
var username = Helpers.GetSessionValue("username");
return Json(new { valid = true, username });
}
Helpers.cs:私は、次のような静的ヘルパー クラスからコードを呼び出すいますしかし、私はこの事件の複数の場合があり、キーの値がnullのたびにキーが存続します。私はさらに上 を行って、テストにSetSessionValueに次の追加:
public static void SetSessionValue(string key, object value)
{
HttpContext.Current.Session[key] = value;
var test = HttpContext.Current.Session[key];
}
変数テストは、値が移入されるだろう。私はすべての変数名をダブルチェックしました。キーはまだコレクションに存在しますが、値は消えます。
未遂ソリューション
ソリューション1からHttpContext.Current.Session is null when routing requests
- 私は私のWeb構成、運<sessionState mode="InProc" timeout="20" />
解決策2で次のように設定しHttpContext.Current.Session null item
私は、私のWeb構成で運私は<httpCookies requireSSL="true" />
は、web.configファイルで有効にするとしようとしました
- を試してみた
<remove name="Session" /> <add name="Session" type="System.Web.SessionState.SessionStateModule"/>
その他のアイテムを次のように設定していませんSSLで稼働中
- リリースモードで実行中
- 保証なし
Session.Abandon();
またはSession.Clear();
- 何のウイルススキャンが
- が
- が
[WebMethod(EnableSession = true)]
- に追加しようとしました実行していたことを確認、私は他の場所で
- 更新私のASP.NET状態サービスを確保していなかったにするために検索した実行しなかったことを確認しました私はクッキーは私がに問題があると思い、ちょうど来るものを参照してください、クッキーレスモードに確認してください、あなたはほとんどすべてをチェックしました
ブラウザでクッキーが有効になっているかどうかを確認してください。 –
もう一度確認してください... –
2番目のパラメータで実際にSetSessionValue/SetUserNameをnullで呼び出す可能性はありますか? SetSessionValueが呼び出されたときにいくつかのログを追加するかもしれません。 – xianwill