【发布时间】:2015-06-15 09:45:50
【问题描述】:
我们通常有一个 3rd 方记录器 NLog 来捕获应用程序错误,但它没有捕获这些错误。唯一可以查看错误详细信息的地方是在 Windows 事件查看器中,这些将显示为警告。错误似乎是由 asp:Timer 控件触发的回发的结果
在事件查看器中记录的错误消息:
我们网页表单页面中的计时器:
<asp:UpdatePanel ID="uPnlMsgMngmt" runat="server">
<ContentTemplate>
<asp:Timer ID="tmMsgMngmt" runat="server" OnTick="tmMsgMngmt_Tick" Interval="10000"></asp:Timer>
从 tmMsgMngmt_Tick 调用的代码绑定数据
//List of all areas
List<MessageAllArea> lstAreaStatus = messageArears.GetAreaStatus();
Session.Add("AllArea", lstAreaStatus);
//List of affected areas
List<MessageAllArea> lstAffectedArea = messageArears.GetAffectedArea();
Session.Add("AfectedArea", lstAffectedArea);
//List of affected areas
List<MessageAllArea> lstLdshedding = messageArears.GetLoadShedding();
Session.Add("LoadShdArea", lstLdshedding);
ltvData.DataSource = lstAreaStatus;
ltvData.DataBind();
//Populate Area drop down list
ddlLoadMessages.Items.Clear();
if (lstAreaStatus.Count > 0)
{
foreach (MessageAllArea item in lstAreaStatus)
{
int attNo = int.Parse(item.attnFlag);
if (attNo == 1)
{
ddlLoadMessages.Items.Add(new ListItem(item.Area, item.AreaId));
}
}
}
}
遇到此错误时,IIS 似乎挂起。它只会间歇性地发生在我们的用户身上,我们无法在我们的开发环境中重现它。来自同一用户的后续页面请求可能需要长达 20 分钟才能得到处理。
【问题讨论】: