0

セッションに数値コンテンツがあり、3に増加するスニペットがありますが、3に受信すると、クライアントに送信されます。このセッションは1分でタイムアウトする必要がありますが、セッションがタイムアウトしないまで、プログラムは正しく機能しますが、セッションは有効期限が切れており、新しいセッションを作成したいのですが、system.invalidoperationexceptionを取得します。問題は何ですか???? その私のコード?

 string ip = HttpContext.Current.Request.UserHostAddress;


           HttpContext failuser = HttpContext.Current;
           failuser.Session.Timeout =1;
           if (failuser != null)
           {
               if (failuser.Session[ip] != null)
                   failuser.Session[ip] = (int)failuser.Session[ip] + 1;
               else
                   failuser.Session[ip] = 1;

               // 
               retval = failuser.Session[ip].ToString();
               if ((int)failuser.Session[ip] > 2)
               {

                   retval = "!";

               }
4

1 に答える 1

0

有効期限が切れると、セッション状態を維持できなくなります。
1分のセッションタイムアウトは非常に小さいです。5分程度の高さにしてください。

セッションをタイムアウト後の状態に復元するよりも、セッションのタイムアウトを許可しない方がはるかに簡単です。

すでにWebMethodsを使用しているため、有効期限が切れる直前にポストバックすることで、セッションの寿命を延ばすことができます。(絶対的なタイムアウトを維持するようにしてください。たとえば、ユーザーが非アクティブの場合は30分後)。

于 2012-09-02T11:08:49.493 に答える