0

我已经在本地 IIS 中配置了我的 asp .net 网站,如果我在 app_Code 文件中进行了任何更改,那么网站将被编译,并且有时会出现“线程正在中止”错误。我找不到原因或重现问题.. 提出一些建议..

4

1 回答 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 回答