私のプロジェクトでは、webform(asp.net 4.5)を使用しています。 しかし、値の私のviewstate変数が失われます。 1日にちょうど1〜2回現れます。時々ViewState変数が失われる値
protected override void OnPreLoad(EventArgs e)
{
base.OnPreLoad(e);
if (!EnableViewState || Form == null)
return;
if (Session["postbackError"] != null)
{
Session["postbackError"] = null;
//write this error to log file
var ex = new Exception("Lost viewstate");
LogErrorUltil.LogError(ex);
}
if (IsPostBack && Form.Attributes["postback"] == null)
{
Session["postbackError"] = true;
}
Form.Attributes["postback"] = "1";
}
、「ビューステートを失った」というメッセージがログファイルに記述している:
は、私はそのようなonpreloadでスニペットコードを持っています。
しかし、私は確信していること:
1. Web.configファイルは、IISの
2.アプリケーションプールがリサイクルされていない更新されません。
上記の2つの理由を除いて、「ロストビューステート」をログファイルに書き込むことができますか?
あなたのアイデアを大変感謝します。 あなたのアイデアをありがとうございます。
ViewStateとSessionは2つの異なるものです。 – VDWWD
はい、ViewStateとSessionは2つの異なることが分かります。しかし、私のコードで見ることができるように、私は常にForm.Attributes ["postback"] = "1"を設定します。しかし、私は時々、Form.Attributes ["postback"]がnullであることを知らないPostBack – user3796752