页面无响应后,自动跳转到指定页面 如何实现啊?

时间:2022-11-28 17:33:01
公司线上最近经常出现不固定的页面出现无响应的情况。现在想当20秒页面无响应后,自动跳转到指定的一个页面去提示稍后再试,如何去实现啊?

9 个解决方案

#1


    redirect("跳转路径")

#2


如果你说的是  页面超时,那么应该会是个异常。那么你可以在web.config中设置一个页面来跳转异常。
http://blog.csdn.net/zjlovety/article/details/48734791

#3


引用 2 楼 hanjun0612 的回复:
如果你说的是  页面超时,那么应该会是个异常。那么你可以在web.config中设置一个页面来跳转异常。
http://blog.csdn.net/zjlovety/article/details/48734791


这个时间可以设置吗?或者假如不报异常呢 我在处理业务逻辑被卡死的情况下 定时的去跳转

#4


引用 3 楼 jiaxinglei01 的回复:
Quote: 引用 2 楼 hanjun0612 的回复:

如果你说的是  页面超时,那么应该会是个异常。那么你可以在web.config中设置一个页面来跳转异常。
http://blog.csdn.net/zjlovety/article/details/48734791


这个时间可以设置吗?或者假如不报异常呢 我在处理业务逻辑被卡死的情况下 定时的去跳转

可以设置超时时间的。你网上搜一下,webconfig都可以设置

#5


引用 4 楼 hanjun0612 的回复:
Quote: 引用 3 楼 jiaxinglei01 的回复:

Quote: 引用 2 楼 hanjun0612 的回复:

如果你说的是  页面超时,那么应该会是个异常。那么你可以在web.config中设置一个页面来跳转异常。
http://blog.csdn.net/zjlovety/article/details/48734791


这个时间可以设置吗?或者假如不报异常呢 我在处理业务逻辑被卡死的情况下 定时的去跳转

可以设置超时时间的。你网上搜一下,webconfig都可以设置


已经按照网上说的做了 还是不显示超时错误 
config如下
 <system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/"/>
    </authentication>
    <compilation debug="false" targetFramework="4.5" />
    <customErrors mode="On"  defaultRedirect="~/s/Err"/>
    <httpRuntime executionTimeout="10" />
    <pages controlRenderingCompatibilityVersion="4.0"/>
  </system.web>


蛋都要碎了

#6


引用 5 楼 jiaxinglei01 的回复:
Quote: 引用 4 楼 hanjun0612 的回复:

Quote: 引用 3 楼 jiaxinglei01 的回复:

Quote: 引用 2 楼 hanjun0612 的回复:

如果你说的是  页面超时,那么应该会是个异常。那么你可以在web.config中设置一个页面来跳转异常。
http://blog.csdn.net/zjlovety/article/details/48734791


这个时间可以设置吗?或者假如不报异常呢 我在处理业务逻辑被卡死的情况下 定时的去跳转

可以设置超时时间的。你网上搜一下,webconfig都可以设置


已经按照网上说的做了 还是不显示超时错误 
config如下
 <system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/"/>
    </authentication>
    <compilation debug="false" targetFramework="4.5" />
    <customErrors mode="On"  defaultRedirect="~/s/Err"/>
    <httpRuntime executionTimeout="10" />
    <pages controlRenderingCompatibilityVersion="4.0"/>
  </system.web>


蛋都要碎了



首先,你要确认下无响应时服务器的错误码是什么。可以火狐,IE11这些浏览器, f12查看下网络请求的返回状态,
如果是500类错误,查看下服务器的进程池类信息,如果满了,服务器反映不过来,也无法显示自定义错误页面;
如果是400类错误,可以配置下IIS的全局错误页。
另外,可以将customErrors mode="Off",看下错误页面显示的具体堆栈信息。

#7


页面无响应 是请求不到任何东西.. 也就是没返回任何的html  

你执行个啥???


只能客户端F5刷新 因为你写的任何代码 根本没有下载到本地  ...

#8


引用 7 楼 diaodiaop 的回复:
页面无响应 是请求不到任何东西.. 也就是没返回任何的html  

你执行个啥???


只能客户端F5刷新 因为你写的任何代码 根本没有下载到本地  ...


你没懂  因为个别页面会出现特别慢的情况,想的是捕获到后可以跳入异常页面 而不是一直没有反应

#9


新的调查发现 MVC3 4已经不支持executionTimeout这个属性了  
ms官方说可以使用AsyncTimeout  
https://connect.microsoft.com/VisualStudio/feedback/details/781171/asp-net-mvc-executiontimeout-does-not-work
结帖,多谢以上各位

#1


    redirect("跳转路径")

#2


如果你说的是  页面超时,那么应该会是个异常。那么你可以在web.config中设置一个页面来跳转异常。
http://blog.csdn.net/zjlovety/article/details/48734791

#3


引用 2 楼 hanjun0612 的回复:
如果你说的是  页面超时,那么应该会是个异常。那么你可以在web.config中设置一个页面来跳转异常。
http://blog.csdn.net/zjlovety/article/details/48734791


这个时间可以设置吗?或者假如不报异常呢 我在处理业务逻辑被卡死的情况下 定时的去跳转

#4


引用 3 楼 jiaxinglei01 的回复:
Quote: 引用 2 楼 hanjun0612 的回复:

如果你说的是  页面超时,那么应该会是个异常。那么你可以在web.config中设置一个页面来跳转异常。
http://blog.csdn.net/zjlovety/article/details/48734791


这个时间可以设置吗?或者假如不报异常呢 我在处理业务逻辑被卡死的情况下 定时的去跳转

可以设置超时时间的。你网上搜一下,webconfig都可以设置

#5


引用 4 楼 hanjun0612 的回复:
Quote: 引用 3 楼 jiaxinglei01 的回复:

Quote: 引用 2 楼 hanjun0612 的回复:

如果你说的是  页面超时,那么应该会是个异常。那么你可以在web.config中设置一个页面来跳转异常。
http://blog.csdn.net/zjlovety/article/details/48734791


这个时间可以设置吗?或者假如不报异常呢 我在处理业务逻辑被卡死的情况下 定时的去跳转

可以设置超时时间的。你网上搜一下,webconfig都可以设置


已经按照网上说的做了 还是不显示超时错误 
config如下
 <system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/"/>
    </authentication>
    <compilation debug="false" targetFramework="4.5" />
    <customErrors mode="On"  defaultRedirect="~/s/Err"/>
    <httpRuntime executionTimeout="10" />
    <pages controlRenderingCompatibilityVersion="4.0"/>
  </system.web>


蛋都要碎了

#6


引用 5 楼 jiaxinglei01 的回复:
Quote: 引用 4 楼 hanjun0612 的回复:

Quote: 引用 3 楼 jiaxinglei01 的回复:

Quote: 引用 2 楼 hanjun0612 的回复:

如果你说的是  页面超时,那么应该会是个异常。那么你可以在web.config中设置一个页面来跳转异常。
http://blog.csdn.net/zjlovety/article/details/48734791


这个时间可以设置吗?或者假如不报异常呢 我在处理业务逻辑被卡死的情况下 定时的去跳转

可以设置超时时间的。你网上搜一下,webconfig都可以设置


已经按照网上说的做了 还是不显示超时错误 
config如下
 <system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/"/>
    </authentication>
    <compilation debug="false" targetFramework="4.5" />
    <customErrors mode="On"  defaultRedirect="~/s/Err"/>
    <httpRuntime executionTimeout="10" />
    <pages controlRenderingCompatibilityVersion="4.0"/>
  </system.web>


蛋都要碎了



首先,你要确认下无响应时服务器的错误码是什么。可以火狐,IE11这些浏览器, f12查看下网络请求的返回状态,
如果是500类错误,查看下服务器的进程池类信息,如果满了,服务器反映不过来,也无法显示自定义错误页面;
如果是400类错误,可以配置下IIS的全局错误页。
另外,可以将customErrors mode="Off",看下错误页面显示的具体堆栈信息。

#7


页面无响应 是请求不到任何东西.. 也就是没返回任何的html  

你执行个啥???


只能客户端F5刷新 因为你写的任何代码 根本没有下载到本地  ...

#8


引用 7 楼 diaodiaop 的回复:
页面无响应 是请求不到任何东西.. 也就是没返回任何的html  

你执行个啥???


只能客户端F5刷新 因为你写的任何代码 根本没有下载到本地  ...


你没懂  因为个别页面会出现特别慢的情况,想的是捕获到后可以跳入异常页面 而不是一直没有反应

#9


新的调查发现 MVC3 4已经不支持executionTimeout这个属性了  
ms官方说可以使用AsyncTimeout  
https://connect.microsoft.com/VisualStudio/feedback/details/781171/asp-net-mvc-executiontimeout-does-not-work
结帖,多谢以上各位