加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

IIS7 – 一次只能提供一页.这是一个让我crazy!

发布时间:2020-12-15 23:43:35 所属栏目:asp.Net 来源:网络整理
导读:情况:经典ASP应用程序,使用自定义应用程序池.默认设置. 在某些IIS7机器上,IIS决定一次只能提供一个页面.所以如果多次加载一个站点的任何页面,每个页面都必须连续加载. 例如如果我从一个浏览器加载http://foo.com/default.asp,并从另一台机器加载http://foo.
情况:经典ASP应用程序,使用自定义应用程序池.默认设置.

在某些IIS7机器上,IIS决定一次只能提供一个页面.所以如果多次加载一个站点的任何页面,每个页面都必须连续加载.

例如如果我从一个浏览器加载http://foo.com/default.asp,并从另一台机器加载http://foo.com/differenturl.asp,则必须先完成另一个加载.这几乎就像w3p进程是单线程的.

请注意,IIS的“高级设置”中有一个名为MaxProcesses的设置,其中“将其设置为大于1以创建Web花园”(无论如何).这不解决问题,因为这会产生具有自己的会话状态等的多个进程,当您加载http://foo.com/default.asp时,无法保证您被分配到同一进程.

问题揭示了自己,因为我们有一个诊断页面是用ASP创建的,ActiveX控件在网站上加载一个url并返回结果.

因此,diagnostics.asp加载并在服务器端的代码中创建一个小型Web控件,在相同的服务器上加载(认为XMLHTTP控件)default.asp.

此页面将不会完成加载,因为服务器正在等待diagnostics.asp页面完成,然后再提供给default.asp页面.僵局!

这在每个IIS6机器上都可以正常工作,我相信有一些IIS7服务器也可以正常工作.

我已经验证了这不是我们古怪的诊断的结果.从一台机器或甚至单独的机器加载多个选项卡将显示Web进程一次处理它们.

AnthonyWJones的正确答案:IIS7中的服务器端调试已打开.这将使IIS进入单线程模式.

解决方法

在IIS管理器中单击树中的应用程序.

双击IIS部分下的ASP.

展开“调试属性”

确保“启用客户端调试”和“启用服务器端调试”均设置为false.

当启用调试时,ASP被限制为以单线程方式一次处理一个请求.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读