2017-02-01 8 views
0

すべての検索条件は、検索、ページング、並べ替えを行う際に維持する必要があります。私のlocalhostでうまく動作します。しかし、ページがステージングサーバーに公開されると、ChangeSortが呼び出されるたびに、セッション変数SearchOptionsnullにリセットされます。なぜセッション変数はステージングサーバーで失われますが、localhostでは正常に動作しますか?

セッション変数を混乱させるIISに特別なものはありますか?以下の貼り付け

コードです:

public SearchInputModel SearchOptions 
{ 
     get { return SessionValues.Search; } 
     set { SessionValues.Search = value; } 
} 

public RedirectToRouteResult ChangeSort(string sortCase) 
{ 
    if (SearchOptions == null) return RedirectToAction("Index"); 
    switch (sortCase) 
    { 
     case "ConfirmationNumber": 
      { 
       SearchOptions.Sort = (SearchOptions.Sort == SortEnum.ConfirmationNumberAscending) 
       ? SortEnum.ConfirmationNumberDescending 
       : SortEnum.ConfirmationNumberAscending; 
       break; 
      } 
     case "LicenseNumber": 
      { 
       SearchOptions.Sort = (SearchOptions.Sort == SortEnum.LicenseNumberAscending) 
        ? SortEnum.LicenseNumberDescending 
        : SortEnum.LicenseNumberAscending; 
       break; 
      } 
     case "Date": 
      { 
       SearchOptions.Sort = (SearchOptions.Sort == SortEnum.DateAscending) 
        ? SortEnum.DateDescending 
        : SortEnum.DateAscending; 
       break; 
      } 
     default: 
      { 
       SearchOptions.Sort = SortEnum.NoSorting; 
       break; 
      } 
    } 
    return RedirectToAction("Index"); 
} 

SessionValuesクラスは、I /書き込みセッション変数を読み取るために使用することです。 Global.asax.cs

public class SessionValues 
    { 
     public static string Search 
     { 
      get 
      { 
       if (HttpContext.Current.Session["Search"] == null) 
        return null; 

       return (string)HttpContext.Current.Session["Search"]; 
      } 
      set 
      { 
       HttpContext.Current.Session["Search"] = value; 
      } 
     } 
    } 
} 

、私はSession_Start()イベントがあるかどうかを確認するためにいくつかのコードを持っています。

protected void Session_Start() 
    { 
     //some code to write to log file. 
    } 

セッションリセットがないことを確認してから、何も記録されません。 IISで


セッション状態

Session state

変更セッション状態モード IISのプロセスでSQL Serverのからは、それを修正します。しかし、これはロードバランスサーバーにとって望ましい解決策ではありません。

+0

?あなたはクラス全体を投稿できますか? –

+0

私の 'SessionValues'クラスを含むように投稿を更新しました。通知をありがとう。 – Blaise

+0

セッション設定はlocalhostとステージング設定で同じですか?私はセッション状態モード – tomassino

答えて

関連する問題