我刚刚在我的台式电脑上安装了 Windows 7 x64 Ultimate。我安装了IIS、Visual Studio 2008、注册了ASP.NET等
我有一个 ASP.NET 3.5 网站,我正在这个新的 IIS 上运行速度非常慢。在 STA 和 PROD 服务器(Windows 2003 Server)以及我的旧 XP/IIS 5.1 上,一切运行顺利。
通常需要 1-2 秒加载的页面现在只需要 8 秒!!!
我看到了this post在 IIS 论坛上。它说明了 Vista/7 不共享连接(只是为了让您知道,该网站在本地运行,但它连接到托管在远程服务器上的 SQL Server 2005)。
似乎需要一段时间才能“开始加载”页面...我的意思是,我单击刷新,它会停留几秒钟“等待本地主机”...然后当它得到响应时,它会加载整个页面通常...
我不知道如何强制 Win7/IIS7.5 共享数据库连接。
编辑:我创建了一个新的空 ASP.NET Web 应用程序来查看问题是否也会发生。答案是否定的,它响应速度很快,因为它应该有一个空的默认页面。也许与数据库连接有关。我将做进一步的测试。这应该是修复它的方法......
编辑 2: 调试应用程序时,我注意到延迟发生在 .NET 代码(Page_Load 等)执行之后...因此延迟似乎发生在 IIS 提供页面的某个地方浏览器。
最佳答案
对于遇到同样问题的人,这里有两种可能的解决方案。
- 1) 在 Firefox 中禁用 IPv6 支持(仅适用于 Firefox)
我认识的大多数作者都认为这种方法是最快、最干净的解决方案。您需要做的基本上是在 Firefox 中打开配置设置 (about:config) 并将 network.dns.disableIPv6 设置更改为 true。
- 2) 更改主机文件中的本地主机设置(所有浏览器)
我想到这个想法是为了检查在哪里以及如何干扰我的机器上的 IPv6 设置。我看到上述来源的评论之一说,只需将 localhost 替换为 url 中的计算机名称即可解决该问题。
我没花很长时间就检查并发现禁用 IPv6 本地主机查找与直接在 Firefox 中禁用 IPv6 具有相同的效果。
您需要做的基本上是注释/删除主机文件中的这一特定行:
#::1 localhost
注意:::1 表示法相当于 IPv6 的 IPv4 127.0.0.1 查找地址。
我相信第二种解决方案可能更适合一般不想禁用 IPv6 的用户,而第一个解决方案可能更适合所有其他在日常工作中仍不使用 IPv6 的用户。
关于windows-7 - IIS 7.5 (Windows 7) 下的 ASP.NET 网站运行速度极慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2375494/