无法在IIS中成功启动经典ASP应用程序

时间:2018-10-29 18:05:55

标签: iis asp-classic

过去2天,我一直在研究此问题。我已经研究过许多类似的问题,并且已经完成了显示为答案的所有工作,但是仍然无法正确使用类.asp应用程序。

我能够启动我的Web应用程序-第一页是“登录”页面,输入凭据(有效),单击“确定”,然后加载,然后出现以下错误:

  

处理URL时服务器上发生错误。请   请与系统管理员联系。如果您是系统管理员   请单击此处以了解有关此错误的更多信息。

点击此处的链接是:https://docs.microsoft.com/en-us/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/classic-asp-not-installed-by-default-on-iis

这是在告诉我我没有安装经典的ASP-因此我按照说明进行操作,并另外查看了SO上的其他类似问题,并做到了: enter image description here

那很好,接下来我遇到另一个问题-How to enable ASP classic in IIS7.5

这就是我所做的:

  

因此,要解决此问题,请转到您要添加您的网站   应用程序,然后双击处理程序映射。点击“添加   脚本映射”,然后输入以下信息:

     

RequestPath:* .asp可执行文件:C:\ Windows \ System32 \ inetsrv \ asp.dll   名称:经典ASP(可以是您想要的任何形式)

像这样:

enter image description here

但是,我仍然遇到同样的问题。我在IIS中添加了一个新站点,然后为我的Classic .ASP文件添加了目录。要启动它,我单击右侧的“开始”,如下所示:

enter image description here

我单击BROWSE,然后打开LOGIN页面,再次正确打开登录页面,我在URL栏中看到的只是显示:https://localhost/,现在,一旦单击OK按钮进行登录,它就是假设执行Response.Redirect test.asp,在这种情况下,它显示:https://localhost/test.asp

对于这个疯狂的冗长问题,我深表歉意,但在发布此问题之前,我想穷尽所有选择。任何帮助将不胜感激。

编辑:PER Daniel,我将错误设置配置为“将错误发送到浏览器”,这是我收到的信息:

  

响应对象错误'ASP 0251:80004005'

     

超出响应缓冲区限制

     

/Test.asp,第0行

     

ASP页面的执行导致响应缓冲区超过其缓冲区   配置的限制。

2 个答案:

答案 0 :(得分:0)

首先,从IE删除“友好的http错误消息”,然后选中“向浏览器发送错误”。您会看到真正的错误消息。

答案 1 :(得分:0)

ASP通常缓冲整个页面,并且仅在缓冲区中生成整个页面之后才输出。但是,缓冲区的大小是有限的-如果有内存,则约为4MB。看来您在这里有一个 really 大页面,而且很令人窒息。

因此,您要做的就是在运行时输出缓冲区。假设写了500行,然后使用Response.Flush

写出缓冲区

例如,假设我要遍历大量记录并将其输出到页面。我可以在每个记录上迭代x,然后在循环结束时执行以下操作:

if x >= 500 then
    x = 0
    Response.Flush
end if