http://bbs.faloo.com/doc/104990/1.html
当你访问博客园出现“Server Error in'/'Application.Runtime Error.”的错误时你知道这个错误的背后是什么吗?你也许会想博客园怎么不设计个定制错误页面这样的错误页面让访问者不知所措只能抱怨“服务器出问题了”。当出现这个问题时我急啊!真想站到互联网上拿着大喇叭对大家喊我刚更新了程序或者修改了web.config的设置 asp.net在进行首次编译在编译的同时还要处理大量的请求忙不过来只能拒绝请求实际的错误信息是"Server Too Busy"错误来自HttRuntime的Rej ectRequestInternal方法。你也许会说用customErrors页面处理一下啊可是HttRunti me 已经拒绝了这个请求重定向到defaultRedirect定制错误页面还是被拒绝结果就出现“S erver Error in'/'Application.RuntimeError.”错误。这个问题困扰我很长时间当更新程序(或者修改web.config的设置、应用程序池回收、 IIS重启)时就会出现这个问题尤其是访问高峰期要几分种才能恢复正常郁闷!要是在这时显示一个友好的错误显示页面那该多好啊!今天晚上更新程序时又遇到这个问题。我再次下决心要解决这个问题。
要解决问题首先要分析出为什么会出现问题。既然是HttRunti me抛出的异常那就从HttRuntime下手。怎么下手呢用强大的Reflector工具微软这点做的不错很多.NET类库都可以通过Re fl ector工具查看源代码。通过分析HttRunti me的源代码我找到了问题的原因这里我简单地描述了一下
做人要厚道转载请注明来自飞卢(faloo.com)
Re:定制“Server Too Busy”错误信息
接着就是异常的处理 向客户端浏览器显示异常信息调用Fini shReque st,在Fini sh中调用context.Re s p ons e.Rep ortRuntimeError(e, true)显示异常信息 Rep ortRuntimeError会根据web.config中的CustomErrors设置决定是否重定向到de faultRedirect。
当你设置CustomErrors的defaultRedirect来定制处理异常信息时 如果遇到"Server_too_busy"就麻烦了重定向到错误处理页面后又被HttpRuntime拒绝拒绝后又被重定向到defaultRedirect页面HttpRuntime 《———》HttpRuntime..... 似乎进入了一种恶性循环。原来问题有这么严重写文章之前我还没想到写到这我才发现。这样不停的来回CPU岂不累死当CPU累的不行时就随便抛出一个其他异常:)也就是“ServerError in'/'Application.Runtime Error.”这个异常我没找到在哪抛出的。难道在首次编译时 CPU占用很高与这个也有关系。我更新博客园服务器上的程序时要几分钟才能恢复正常而这时CPU基本是满负荷工作难道也是这个问题引起我想明天在访问高峰期测试一下就能得到证实。这似乎是设计者的一个疏忽 正确的做法应该是对于"Server_too_busy"异常不管用户是否设置了 defaultRedirect,都不应该去重定向到defaultRedirect而是直接向客户端发送异常信息这是一个很特殊的情况设计者在设计时可能没考虑到。
Re:定制“Server Too Busy”错误信息
在写文章之前我并没有发觉这个问题如此严重。但我想到了一个另类的解决方法既然发生"S erver_to o_busy"时 HttpRuntime不会处理任何请求那该Web应用程序中再怎么处理也是无济于事的 我们从其他地方找突破口发生"Server_too_busy"异常时重定向到de faultRe direct会带来严重的问题但却可以利用这一点把问题化解为解决方法这个解决方法就是将defaultRe direct设置为另外一个网站的地址既然这个网站拒绝处理请求那我把请求转给另外一个网站总可以吧 由另外一个网站来显示友好的错误信息这样不仅解决了定制“Server Too Busy”错误信息的问题而且可以减少对主网站的请求让主网站有更多的时间处理当前的任务。比如博客园现在就建立了一个sorry.cnblogs.com的站点将de faultRe direct设置为这个站点。这个方法另类吧!
有了这个方法我们以后就不怕"Server_too_busy"了可以轻松更新程序、修改web.config,只要将defaultRe dire ct的页面设计得让大家觉得等几分钟也不难受就行了。比如放一段美妙的音乐、笑话、搞笑图片、激情电影 当然过份的网站也许会放广告。
webhosting24决定从7月1日开始对日本机房的VPS进行NVMe和流量大升级,几乎是翻倍了硬盘和流量,当然前提是价格依旧不变。目前来看,国内过去走的是NTT直连,服务器托管机房应该是CDN77*(也就是datapacket.com),加上高性能平台(AMD Ryzen 9 3900X+NVMe),这样的日本VPS还是有相当大的性价比的。官方网站:https://www.webhosting...
[六一云迎国庆]转盘活动实物礼品美国G口/香港CTG/美国T级超防云/物理机/CDN大促销六一云 成立于2018年,归属于西安六一网络科技有限公司,是一家国内正规持有IDC ISP CDN IRCS电信经营许可证书的老牌商家。大陆持证公司受大陆各部门监管不好用支持退款退现,再也不怕被割韭菜了!主要业务有:国内高防云,美国高防云,美国cera大带宽,香港CTG,香港沙田CN2,海外站群服务,物理机,...
目前国内云计算市场竞争异常激烈,尤其是国内的腾讯云、阿里云、景安等商家促销活动一波接一波的进行,对于有需要的用户确实得到不小的实惠。但是这样给予国内的主机商确实是比较大的打击,毕竟这些商家的背景和实例强劲,即便是贴本补贴优惠,也是不怕的。前两年阿里一家各种活动促销,确实在国内市场占据主要的市场地位,腾讯云开始两年没有较大的吸引用户,不过这两年的发展还是比较稳健的。我们很多网友在之前肯定也享受到一些...