gpt4 book ai didi

c# - Debug模式错误

转载 作者:太空宇宙 更新时间:2023-11-03 12:13:37 25 4
gpt4 key购买 nike

当我在 Debug模式下运行我的代码时,我得到一个异常(System.Web.HttpException:'Request is not available in this context'),但是当我在 Release模式(Ctrl-F5)下运行时,异常不会甚至露面。异常出现在 Server.Transfer 行。

在 Debug模式下运行时如何防止这种情况发生?

protected void Application_Error(object sender, EventArgs e)
{
//Gets the last error, emails it
var exc = Server.GetLastError();
Server.ClearError();

if (exc == null)
{
exc = new ApplicationException("*** Application Exception - Unknown/null exception ***");
}

if (exc is HttpException)
{
var errorCode = ((HttpException)exc).GetHttpCode();
Response.Redirect("~/ErrorPage.aspx?e=" + errorCode.ToString());
}
else
{
exc.Publish();

Server.Transfer("~/ErrorPage.aspx?e=unknown");
}
}

最佳答案

我认为问题可能是 IIS 在调试时以单线程模式运行。 Server.Transfer 在调用它的当前请求后面排队一条消息,但当前请求无法完成,因为 Server.Transfer 无法完成,因为线程被阻塞。

尝试从您的初始请求中删除所有断点并在 ErrorPage.aspx 中添加一个。

或者,尝试使用 Response.Redirect 而不是 Server.Transfer。因为 Response.Redirect 将返回给它完成当前请求的客户端。我意识到这可能不是您需要的功能,但它有助于调试,然后您可以返回 Server.Transfer 进行实时运行。

关于c# - Debug模式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50840085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com