-1

私は ASP.NET を初めて使用しますが、問題が発生しています。私はすでに書かれたウェブサイトを管理しようとしています。次の行に到達すると、このエラーが発生します。

if (Session["usertype"].Equals("2"))
{

}

Session["usertype"]は前のページで既に割り当てられています。この現在のページでは、すべてのセッション変数が失われています (デバッグで確認しました)。

ログイン後、次の方法でセッションが割り当てられます

Session["usertype"] = "2"

ログイン後のページは、10 秒後に更新されます。そして、それは私がセッションを失う場所です。ここで何が間違っている可能性があるか教えてください。

4

4 に答える 4

1

を取得している場合NullReferenceException、セッション値は として返されnullます。おそらく次のことを確認する必要があります。

var userType = (string)Session["usertype"];
if(userType == null) {
    // .. things to do if no session value
} else {
    // test "2" etc
}

セッション状態が無効になっているか、実際に値が設定されていない可能性があります。

于 2013-02-13T14:01:52.883 に答える
0

あなたのプロセスは10秒以上ですか?IISでセッションの長さを変更できます。IIS を開き、Web サイトをクリックして、セッション状態 (ASP.NET タブ) を選択し、状態サーバーを確認して、タイムアウトを変更します (デフォルト: 10 秒)。

于 2013-02-13T15:16:24.523 に答える