Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在asp.net应用程序中中止线程_Asp.net_.net - Fatal编程技术网

正在asp.net应用程序中中止线程

正在asp.net应用程序中中止线程,asp.net,.net,Asp.net,.net,我已经在本地IIS中配置了我的asp.net网站,如果我在app_代码文件中做了任何更改,则会编译该网站,并在某个时间引发“线程正在中止”错误。我找不到原因,也无法重现这个问题。。 给出一些建议。在我遇到这种情况时,它通常与在给定方法中的所有代码都有机会运行之前调用Response.Redirect、Server.Transfer或Response.End有关。举个例子: try { //Call database method } catch(Exception ex) {

我已经在本地IIS中配置了我的asp.net网站,如果我在app_代码文件中做了任何更改,则会编译该网站,并在某个时间引发“线程正在中止”错误。我找不到原因,也无法重现这个问题。。
给出一些建议。

在我遇到这种情况时,它通常与在给定方法中的所有代码都有机会运行之前调用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中处理应用程序错误事件并记录信息。此外,您还可以查看服务器上的EventViewer,查看是否记录了异常。如果是,它至少应该有堆栈跟踪。处理应用程序错误事件的示例如下:

void Application_Error(object sender, EventArgs e)
{
    var context = ((HttpApplication)sender).Context;   
    var ex = context.Server.GetLastError();
    //Log exception
}   

在我遇到这种情况时,它通常与在给定方法中的所有代码都有机会运行之前调用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中处理应用程序错误事件并记录信息。此外,您还可以查看服务器上的EventViewer,查看是否记录了异常。如果是,它至少应该有堆栈跟踪。处理应用程序错误事件的示例如下:

void Application_Error(object sender, EventArgs e)
{
    var context = ((HttpApplication)sender).Context;   
    var ex = context.Server.GetLastError();
    //Log exception
}   

海,无法得到确切的解决方案使用您的样本,因为我已经用了超过1000页在我的项目,所以我不能考虑确切的地方提出的问题。但是这个提示是有用的。无论如何,谢谢…我已经编辑了我的帖子,以说明您可能如何追踪问题。好的。。我要试试这个。。谢谢..海,无法使用您的样本获得精确的解决方案,因为我在我的项目中使用了超过1000页,所以我无法考虑提出的确切问题。但是这个提示是有用的。无论如何,谢谢…我已经编辑了我的帖子,以说明您可能如何追踪问题。好的。。我要试试这个。。谢谢。您应该检查这个答案。对于使用Response.Redirect的asp.net站点来说,这是一个非常常见的问题。Response.Redirect将在默认情况下中止当前线程。可能的重复项您应该检查此答案。对于使用Response.Redirect的asp.net站点,这是一个非常常见的问题。默认情况下,重定向将中止当前线程。的可能重复