gpt4 book ai didi

.net - 设置响应状态代码会导致自定义错误页面顶部出现不需要的错误文本

转载 作者:行者123 更新时间:2023-12-04 12:40:10 26 4
gpt4 key购买 nike

更新:

为确保向浏览器返回正确的状态代码,error.aspx 包含以下行:

<% Response.StatusCode = 500; %>

删除它会删除不需要的文本,但我想要正确的状态代码,所以我想这是新问题......如何!?

设置响应状态码的结​​果相同:
HttpContext.Current.Response.StatusCode = 500;

将更新问题标题。

更新前:

由于一些遗留代码/配置,我们有一个稍微不寻常的自定义错误页面设置,它处理 global.asax 中的异常。并使用 Server.Transfer()显示适当的 .aspx 错误页面,如下所示:
public void Application_Error(object sender, EventArgs e)
{
// abbreviated to clear out logging and some other logic that determines which error page to show

HttpContext.Current.Response.Clear();
HttpContext.Current.Server.ClearError();

var context = HttpContext.Current;
if (context != null)
{
var errorPage = "~/ErrorPages/error.aspx";
context.Server.Transfer(errorPage);
}
}

问题是当 error.aspx 显示为 时远程用户错误消息(和一个新的开始正文标签...)被附加到页面上,所以页面的第一行是无样式的文本,说:

The page cannot be displayed because an internal server error has occurred.


不理想,虽然我可能在谷歌上搜索了错误的东西,但这似乎不是一个有据可查或经常讨论的问题。

欢迎任何想法。 error.aspx 代码非常通用,但如果它可能有帮助,我很乐意发布 - 请发表评论。

最佳答案

修复方法是将其添加到 web.config 中:

<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>

基于这个答案:

IIS7 Overrides customErrors when setting Response.StatusCode?

还有这篇博文:

http://blogs.iis.net/ksingla/what-to-expect-from-iis7-custom-error-module

关于.net - 设置响应状态代码会导致自定义错误页面顶部出现不需要的错误文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33497092/

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