gpt4 book ai didi

IIS7 - 一次只提供一页。这让我发疯!

转载 作者:行者123 更新时间:2023-12-03 15:17:11 24 4
gpt4 key购买 nike

情况:经典的 ASP 应用程序,使用自定义的应用程序池。默认设置。

在某些 IIS7 机器上,IIS 决定一次只提供一个页面。因此,如果多个从一个站点加载任何页面,每个页面都必须连续加载。

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

请注意,在 IIS 的高级设置中有一个名为 MaxProcesses 的设置,上面写着“将此设置为大于 1 以创建 Web Garden”(无论是什么)。这并不能解决问题,因为这会产生具有自己 session 状态等的多个进程,并且当您加载 http://foo.com/default.asp 时无法保证您被分配到相同的流程。

问题本身就暴露出来了,因为我们有一个用 ASP 编写的诊断页面,它创建和 ActiveX 控件,它在网站上加载一个 url 并返回结果。

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

此页面永远不会完成加载,因为服务器在为 default.asp 页面提供服务之前正在等待 diagnostics.asp 页面完成。僵局!

这在每台 IIS6 机器上都可以正常工作,而且我相信有些 IIS7 服务器也可以正常工作。

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

正确答案 作者:AnthonyWJones:在 IIS7 中打开了服务器端调试。这将 IIS 置于单线程模式。

最佳答案

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

双击 IIS 部分下的 ASP。

展开“调试属性”

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

启用调试后,ASP 仅限于以单线程方式一次处理一个请求。

关于IIS7 - 一次只提供一页。这让我发疯!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/587420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com