客户端asp.net MVC图像的最佳方式

时间:2011-01-06 03:01:05

标签: asp.net-mvc error-handling custom-error-pages

我在我的网页上使用Asp.Net MVC。我正在尝试向我的网页访问者显示自定义错误消息,以便我添加

    <customErrors mode="On" defaultRedirect="/Error" >
    </customErrors>

到我的web.config。

我有一个错误控制器,当我的网页发生异常时会触发索引操作。

但是当我请求不在服务器上的图像或javascript文件时,我的自定义错误也会针对此类请求而出现,我的自定义错误页面从服务器到达。

我认为这不是错误的好方法。因为浏览器在等待图像但响应是一个网页。

  • 问题1 - 我想禁用特定文件类型的自定义错误,但我不知道该怎么做。

  • 问题2 - 此外,如果出现404,500等错误,我希望看到与错误相同的响应代码。

但是对于自定义错误,响应代码是302.我希望看到真正的错误代码。

我找到了第一个问题的解决方案,但我不知道这是最好的做法 我的图像位于Images文件夹中,因此我为Images图像文件夹创建了一个特定的配置。

我将这些行添加到我的web.config

   <location path="Images">
    <system.web>
      <customErrors mode="Off"></customErrors>
    </system.web>
  </location>
  • 问题3 - 这是一个好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

创建订阅HttpModule事件的Error。检查StatusCode及其404(未找到)是否检查请求的文件。如果是图像,请清除Exception并将StatusCode设置为404以外的其他值,并且不会点击customError页面。

关于维护原始状态代码,您也可以将其保存在HttpModule中并将其重新设置在错误控制器中。