站点无法访问时的错误页面

时间:2016-02-02 10:32:19

标签: asp.net iis iis-7

我们将在服务器中进行Windows更新,并希望拥有自定义错误页面,以避免将来报告用户出现间歇性错误。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

@Shirish显示的自定义错误将起作用。
但是,如果服务器重新启动并且系统更新时间较长,则不会显示该页面,因为整个IIS和操作系统可能已关闭。因此,唯一的办法就是让某种(反向)代理服务器位于您的Web服务器前面,该服务器将监视其运行状况,然后将所有请求故障转移到其他服务器,或者只是提供一些错误错误页面直到Web服务器回到网上。

例如,如果您在Azure上托管,则可以在Web App或VM前面安装Load balancer。如果在同一可用性集中创建两个服务,则可以使用负载平衡器。它将在某个指定的时间间隔内监视每项服务的运行状况(例如5秒),然后相应地路由流量。您可以在升级第一个VM时打开第二个VM / WebApp,以降低成本。

答案 1 :(得分:1)

在web.config文件中,将这些代码放在<system.web></system.web>内,并创建Error控制器和三个操作Error500等,以及相应的视图页面。如果iis返回status 500,则会显示Error500页面。您可以创建自己的错误页面。

<customErrors mode="On" defaultRedirect="Error">
  <error statusCode="500" redirect="~/Error/Error500" />
  <error statusCode="404" redirect="~/Error/Error404" />
  <error statusCode="403" redirect="~/Error/Error403" />
</customErrors>

答案 2 :(得分:0)

您可以在web.config -

中执行以下代码
<configuration>
  <system.web>
    <customErrors defaultRedirect="GenericError.htm"
                  mode="RemoteOnly">
      <error statusCode="500"
             redirect="InternalError.htm"/>
    </customErrors>
  </system.web>
</configuration>

有关错误处理的更多详情,请查看此网址 - https://msdn.microsoft.com/en-us/library/bb397417.aspx