在我的 ASMX WS 中,当第一个请求到达时,将调用 Application_Start 。那时对我来说有点太晚了。有什么方法可以在 iisreset 完成后调用它吗?
In 在 asmx Web 服务中为数据库 IO 生成线程的正确方法是什么? https://stackoverflow.com/questions/1820770/what-is-the-right-way-to-spawn-thread-for-database-io-in-asmx-web-service我询问了有关预加载系统数据的问题,他们建议我在 Application_Start 中进行加载。但是,如果仅在第一次请求时完成,则结果是相同的,因此建议根本没有用。
如果您有最新的 IIS 7.5,您可能需要查看应用程序初始化 http://forums.iis.net/t/1176740.aspx这是最近才添加的。我个人没有使用过它,但看起来它可能有你需要的一些东西。
Overview
IIS 7.5 Beta 1 的 IIS 应用程序预热使 IT 专业人员能够通过在第一个请求到达之前加载 Web 应用程序来提高其网站的响应能力。通过主动加载和初始化所有依赖项(例如数据库连接、ASP.NET 代码编译和模块加载),IT 专业人员可以确保他们的网站始终响应,即使他们的网站使用自定义请求管道或者如果应用程序池被回收。
好处:
通过预加载工作进程来减少首次请求的响应时间
IIS 应用程序预热允许 IT 专业人员将 Web 应用程序配置为在第一个请求到达之前在 Web 服务器启动时预加载。通过预加载应用程序,工作进程能够减少响应第一个 Web 请求所需的时间。当请求到达服务器时,数据库连接、.NET Framework 等依赖项的加载和初始化以及 ASP.NET 应用程序和依赖项的即时编译都已完成。
发生重叠回收时通过预加载工作进程来提高可靠性
重叠回收场景中第一个请求的响应时间也可以通过预加载依赖项来减少。回收的工作进程只会传达其准备情况,并在完成加载和初始化配置指定的资源后开始接受请求。
自定义应用程序的预加载
可以将 IIS 应用程序预热配置为使用特定网页和用户标识来初始化 Web 应用程序。这使得创建特定的初始化过程成为可能,这些过程可以根据初始化逻辑同步或异步执行。此外,这些过程可以使用特定的身份以确保正确的初始化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)