MVC3错误处理 - 不适用于AZURE中的500类型错误

时间:2011-07-07 05:30:03

标签: asp.net-mvc asp.net-mvc-3 azure

是否有任何人使用IIS7 Web服务器在Azure中处理MVC3错误的工作解决方案。请注意,它必须是这种组合。对于Azure Web角色的用户,我看到了许多答案,但并不多。我必须查看50多个网页,除了引用

之外什么都没找到
<configuration>  
  <system.webServer>  
    <httpErrors existingResponse="PassThrough"/>  
  </system.webServer>  
<configuration> 

哪些似乎仍无效并解决我的问题

我的Web.config设置如下:

<customErrors defaultRedirect="~/error/notfound" mode="RemoteOnly">
  <error statusCode="404" redirect="~/error/notfound"></error>
</customErrors>

我检查了服务器,设置没问题。所以现在当我浏览一个我知道会产生500异常的网页时,我得到以下内容:

90b37.cloudapp.net/Error/NotFound?aspxerrorpath=/

似乎它转到了CORRECT错误控制器和视图,但随后页面发生了变化,我得到了标准的IIS输出(或者是MVC输出)。无论哪种方式,我想看到的是我的NotFound页面的内容,这是我在本地看到的,其中customerror设置为“On”。

这是我得到的,但不是我想要的:

The current error page you are seeing can be replaced by a custom error 
page by modifying the "defaultRedirect" attribute of the application's 
<customErrors> etc ...

这很奇怪,因为显然它确实试图将我带到重定向的页面。我希望有人能帮帮忙。有谁知道是什么生成上面的页面片段?它是IIS还是MVC的一部分?我已经度过了最后一天,无处可去。

1 个答案:

答案 0 :(得分:0)

您正在重定向未找到的http 404文件。

但您的错误是http 500内部错误。

因此,您的自定义错误配置无法捕获该错误。

您需要捕获状态代码500。