正在asp.net应用程序中中止线程
我已经在本地IIS中配置了我的asp.net网站,如果我在app_代码文件中做了任何更改,则会编译该网站,并在某个时间引发“线程正在中止”错误。我找不到原因,也无法重现这个问题。。正在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) {
给出一些建议。在我遇到这种情况时,它通常与在给定方法中的所有代码都有机会运行之前调用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站点,这是一个非常常见的问题。默认情况下,重定向将中止当前线程。的可能重复