【问题标题】:Refreshing page with runtime error刷新页面时出现运行时错误
【发布时间】:2011-02-09 08:40:17
【问题描述】:
我想知道刷新页面时出现运行时错误是否会使网络服务器过载。例如,我刷新了 domain.com/default.asp?id=99999999999999999999999999999999999999999 页面会产生以下错误:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'Cint'
/default.asp, line 9
这导致服务器无法响应其上托管的所有站点或我的 IP 被防火墙阻止了一段时间。
【问题讨论】:
标签:
asp-classic
vbscript
iis-6
runtime-error
【解决方案1】:
这取决于围绕该错误的其余代码是什么样的(您看不到)。在 DoS 请求(泛滥)的意义上,您不会使服务器过载,因为这些请求会在请求到达 IIS 以在服务器端进行处理之前得到处理。
但是,如果分页符的代码基于该值进行其他处理,则可能会使 IIS 或应用程序池崩溃。它也可能在等待通过的数据库调用时卡住,并且必须在服务器响应之前超时。它会超时或自行重置,这就是您再次看到该站点正常运行的时候。
无论是代码还是网站/服务器都应该设置得更好以缓解问题。希望管理员在调查网站因您的网络点击而不断崩溃的原因时能够弄清楚这一点;)
【解决方案2】:
问题似乎是类型转换。请尝试以下步骤。
在出现此错误的页面顶部添加此行:
"Option Explicit"
你可以得到更有意义的错误信息:
link 提供每条错误消息的详细信息。