本地主机上的 IIS 非常慢

Nyl*_*ska 6 iis-7 asp.net wcf

我在 Windows Vista 双核 CPU 上使用 IIS7。第一次使用 WCF 服务或 ASP.NET webform 有时需要超过一分钟的时间,这对我来说是不可接受的。

我将应用程序配置为使用 Classic .NET 应用程序池并尝试使用Maximum worker processes,首先将其设置为 4,但将其重新设置为 1,因为它没有达到预期的结果。还有其他我可以尝试的事情吗?

spl*_*tne 8

检查您的 web.config 文件的编译模式。在开发过程中,您应该在调试模式下运行您的站点。如果您在发布模式下运行,则每个 aspx 和 ascx 都将编译为临时程序集,而不仅仅是您点击的页面和控件。此外,将批处理设置为 false。

<configuration>
    <system.web>
         <compilation debug="true" batch="false" ...>
         ...
         </compilation>
    ...
    </system.web>
    ...
Run Code Online (Sandbox Code Playgroud)

当然,不建议将这些用于生产环境,这些更改会减慢生产速度。


另外,检查这个论坛线程,您可以在其中找到一些有趣的提示,例如重置 ASP.NET 临时文件夹的权限:

我遇到了同样的问题并进行了本论坛中提到的所有调整,但没有帮助。我开始怀疑 dll 的缓慢加载时间与安全设置有关。对 dll 的访问似乎要通过安全检查,这是操作系统的一部分,而不是 VIsual Studio 的一部分。这些 dll 位于您的应用程序的目录中:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\
Run Code Online (Sandbox Code Playgroud)

为了加快安全检查,您需要删除上述目录中应用程序根文件夹上的所有安全设置,或者如果要将其应用于目录“Temporary ASP.NET Files”您开发的所有 Web 应用程序。

右键单击该文件夹并选择属性 -> 安全性

删除所有用户和组。有些将不允许被删除,因为它们从其父文件夹继承了权限。您必须首先通过单击“高级”按钮删除继承,然后取消选中“从父级继承...”复选框。然后删除用户或组。不得有任何用户或组的权限复选框显示为灰色。如果它们变灰,则表示您没有从其父级中删除继承。

从文件夹中删除所有用户和组后,您需要添加以下用户和组:

管理员 用户 ASPNET 网络 网络服务 本地服务

为每个帐户授予完全权限。再次单击“高级”按钮并勾选“替换所有子对象的权限条目...”


Sam*_*gan 0

这只是您在构建应用程序后第一次访问该应用程序吗?这并不罕见,因为 Web 应用程序需要从 DLL 等编译内​​容,并且后续加载速度会更快。