asp.net-mvc – 404处理Azure网站
发布时间:2020-05-24 04:01:18 所属栏目:asp.Net 来源:互联网
导读:我在Azure上有一个MVC网站.我写了一个控制器动作来代替一个资源,它应该返回HTTP 404,但是body的内容应该是一些 HTML,我在这里解释了404的原因.这是一个设置Response.StatusCode的标准操作.这在本地工作正常,但是当部署到Azure时,我没有得到我的自定义视图,而
|
我在Azure上有一个MVC网站.我写了一个控制器动作来代替一个资源,它应该返回HTTP 404,但是body的内容应该是一些 HTML,我在这里解释了404的原因.这是一个设置Response.StatusCode的标准操作.这在本地工作正常,但是当部署到Azure时,我没有得到我的自定义视图,而是纯文本中的错误消息.我已经删除了< customErrors>在Azure上进行调试,结果相同. 这是部署到Azure时收到的原始响应: HTTP/1.1 404 Not Found Cache-Control: private Content-Length: 103 Content-Type: text/html Server: Microsoft-IIS/8.0 X-AspNetMvc-Version: 3.0 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET X-Powered-By: ARR/2.5 X-Powered-By: ASP.NET Date: Sat,17 Aug 2013 17:24:19 GMT The resource you are looking for has been removed,had its name changed,or is temporarily unavailable. 同样重要的是,如果我删除此服务的路由,我得到一个标准的.NET 404错误页面,所以我想我的自定义操作正在运行.行动只是直截了当: [HttpGet]
public ActionResult LegacyMedia(string originalUrl)
{
ViewBag.OriginalUrl = originalUrl;
return new ViewResult404() {ViewName = "LegacyMedia"};
}
public class ViewResult404 : ViewResult
{
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.StatusCode = (int) HttpStatusCode.NotFound;
base.ExecuteResult(context);
}
}
在Azure上响应HTTP状态404时如何获取我的视图? 解决方法我可以通过将这个httpErrors条目添加到web.config来解决这个问题:<configuration>
<system.webServer>
<httpErrors existingResponse="PassThrough"/>
</system.webServer>
<configuration>
我在这里找到这个答案: http://blog.dezfowler.com/2010/09/aspnet-custom-error-not-shown-in-azure.html (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 自定义elmah.axd输出字段
- asp.net-mvc-3 – ASP.NET MVC语言更改链接
- asp.net – .NET VirtualPathProviders和预编译
- asp.net-mvc-3 – 如何在VIEW MVC3 Razor中显示webforms页面
- asp.net – 诊断“请求超时”HttpExceptions
- asp.net-mvc-4 – 什么是antlr3,为什么默认情况下在VS2012
- 文件上传 – 以经典的asp上传文件
- 在ASP.net中使用image404和azurereader2
- asp.net-mvc – 将解决方案分成不同的项目
- asp.net-mvc – 什么时候使用ViewData而不是ViewModels?
推荐文章
站长推荐
热点阅读
