ASP.NET 5自定义错误页面无法在Azure网站上呈现
发布时间:2020-12-16 09:41:25 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET 5网站,我想添加自定义错误页面.我习惯在web.config中添加条目(从ASP.NET 4天开始),但我想在ASP.NET 5中使用新方法.所以我的Startup.cs类中有以下内容: if (env.IsEnvironment("Development")){ app.UseErrorPage(ErrorPageOptions.ShowAll)
我有一个ASP.NET 5网站,我想添加自定义错误页面.我习惯在web.config中添加条目(从ASP.NET 4天开始),但我想在ASP.NET 5中使用新方法.所以我的Startup.cs类中有以下内容:
if (env.IsEnvironment("Development")) { app.UseErrorPage(ErrorPageOptions.ShowAll); } else { app.UseStatusCodePagesWithReExecute("/Home/Error"); app.UseErrorHandler("/Home/Error"); } 当我使用kestral在本地运行时,我的错误页面会正确显示.但是,当我部署到Azure时,当我尝试测试404错误时,我得到了非常通用的白色错误页面: “您要查找的资源已被删除,名称已更改,或暂时无法使用.” 我尝试在我的web.config中实现此答案,但它无法解决我的问题: https://stackoverflow.com/a/29539669/8320 这是我的web.config的相关部分: <system.web> <customErrors mode="Off" /> </system.web> 我还确保Azure网站的配置/应用程序设置部分中的ASPNET_ENV =“生产”. 有任何想法吗?如果我能提供更多信息,请告诉我. 解决方法
IIS是一个棘手的野兽,我们仍然在ASP.NET 5中解决这个问题.当您在IIS上运行时,我们会运行中间件管道,然后在没有处理请求的情况下回调到IIS本机模块.当您获得未被任何中间件处理的404时,它将重新进入IIS管道并触发IIS特定的错误页面. UseStatusCodePagesWithReExecute中间件仍在运行,但到那时,IIS已经将标头和正文发送到客户端(在本例中为浏览器).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – Sitecore视图渲染和控制器渲染助手
- ASP.net WebForms是CPU密集型平台吗?
- .net – 为什么在单击按钮时,SelectedIndexChanged会触发Dr
- asp.net-mvc – 401响应代码的json请求与ASP.NET MVC
- asp.net-mvc-3 – 从TempData获取值到视图中
- asp.net-mvc-3 – MVC3强制验证隐藏字段
- 在.net核心项目中获取DefinitelyTyped打字稿定义文件的“正
- asp.net – MapRoute和MapPageRoute有什么区别?
- .net core 中间件使用
- ASP.NET会话性能
推荐文章
站长推荐
- asp.net-mvc-routing – @ Url.Action获取?附加
- asp.net-mvc – SelectList选择的值未转移到Drop
- asp.net-mvc-3 – OutputCache和自定义gzip压缩过
- asp.net – 为什么在调用Application_Error()时R
- asp.net – 如何从AJAX调用非静态方法?
- asp.net – 在try / catch块中包装Web服务
- ASP.NET迁移中的Discriminator列是什么?
- asp.net-mvc – 如何在Visual Studio 2008和ASP.
- asp.net-mvc – 用于大型视频文件的MVC ActionRe
- 如何从Asp.Net Code Behind调用JavaScript函数?
热点阅读