在第一个请求到达时调用Application_Start。这对我来说太晚了。在完成iisreset时有没有办法让它被调用?
在what is the right way to spawn thread for database IO in asmx web service?我询问了预加载系统数据的问题,这些人建议我在Application_Start中加载。但是,如果仅在第一次请求时完成,则它是相同的,因此建议不要使用。
答案 0 :(得分:2)
如果您拥有最新的最新IIS 7.5,则可能需要查看刚刚添加的Application Initialization。我个人没有使用它,但看起来它可能有你需要的一些东西。
<强>概述强>
IIS 7.5 Beta 1的IIS应用程序预热使IT专业人员能够通过在第一个请求到达之前加载Web应用程序来提高其Web站点的响应能力。通过主动加载和初始化所有依赖项(如数据库连接,ASP.NET代码编译和模块加载),IT专业人员可以确保他们的Web站点始终响应,即使他们的Web站点使用自定义请求管道或如果应用程序池被回收。
<强>优点:强>
通过预加载工作进程减少第一个请求的响应时间 IIS Application Warm-Up允许IT专业人员将Web应用程序配置为在第一个请求到达之前在Web服务器的开头预加载。通过预加载应用程序,工作进程可以减少响应第一个Web请求所需的时间。在请求到达服务器时,已经执行了依赖项的加载和初始化,例如数据库连接,.NET Framework以及ASP.NET应用程序和依赖项的即时编译。
在发生重叠回收时,通过预加载工作进程来提高可靠性 通过预加载依赖性,减少了重叠回收场景中第一个请求的响应时间。循环工作进程只会告知其准备情况,并在完成加载和初始化配置指定的资源后开始接受请求。
自定义应用程序的预加载 可以将IIS Application Warm-Up配置为使用特定Web页面和用户标识初始化Web应用程序。这使得可以创建特定的初始化过程,这些过程可以根据初始化逻辑同步或异步执行。此外,这些过程可以使用特定的标识,以确保正确的初始化。
答案 1 :(得分:-1)
您可以创建一个简单的程序来向您的Web服务发出虚拟请求。这将在第一次触发Application_Start
。
将此简单程序作为计划任务运行,在计算机启动时运行。