我在我的項目中使用webform(在asp.net 4.5中)。 但有時,值的我的viewstate變量丟失。 它只出現在一天或一兩次。有時ViewState變量丟失值
我喜歡在onpreload一個代碼片段:
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";
}
我在日誌中看到,「失落的視圖狀態」的消息在日誌文件中寫入。
但我確信:
1. Web.config文件不刷新
2. IIS的應用程序池不回收。
你能否給我一個想法,可以讓「Lost viewstate」寫入日誌文件,除了上面的兩個原因?
我非常感謝你的想法。 感謝您的想法。
ViewState和Session是兩個不同的東西。 – VDWWD
是的,我知道ViewState和Session是兩個不同的東西。但正如你在我的代碼中看到的,我總是設置Form.Attributes [「postback」] =「1」。但是我不知道爲什麼有時候,Form.Attributes [「postback」]在PostBack中爲null – user3796752