我已经在本地 IIS 中配置了我的 asp .net 网站,如果我在 app_Code 文件中进行了任何更改,那么网站将被编译,并且有时会出现“线程正在中止”错误。我找不到原因或重现问题.. 提出一些建议..
问问题
14040 次
1 回答
6
在我遇到这种情况的情况下,它通常与在给定方法中的所有代码有机会运行之前调用 Response.Redirect、Server.Transfer 或 Response.End 有关。举个例子:
try
{
//Call database method
}
catch(Exception ex)
{
Response.Redirect("error.aspx");
}
finally
{
Response.Redirect("success.aspx");
}
textbox1.Text = "complete!"; //Never called - Thread is being aborted exception
如果数据库调用引发错误,则会重定向到 error.aspx,否则会重定向到 success.aspx,这意味着永远不会执行对 textbox1.Text 的调用,因此会出现错误。
这是相关的知识库文章
- 编辑
如果您不确定这个问题是从哪里引发的,我建议您在 Globabl.asax 中处理 Application_Error 事件并记录信息。此外,您可以查看服务器上的 EventViewer 并查看是否在那里记录了异常。如果是,它至少应该有堆栈跟踪。处理 Application_Error 事件的示例:
void Application_Error(object sender, EventArgs e)
{
var context = ((HttpApplication)sender).Context;
var ex = context.Server.GetLastError();
//Log exception
}
于 2013-06-14T11:25:42.557 回答