当前位置 : 主页 > 网络编程 > ASP >

asp.net-mvc – IIS 8.5 – 应用程序初始化无效

来源:互联网 收集:自由互联 发布时间:2021-06-24
我已经安装了应用程序初始化,将网站的应用程序池启动模式设置为“始终运行”,并在网站的高级设置中设置Preload Enabled =“True”. 但是,如果我手动回收应用程序池并等待10秒钟,那么当
我已经安装了应用程序初始化,将网站的应用程序池启动模式设置为“始终运行”,并在网站的高级设置中设置Preload Enabled =“True”.

但是,如果我手动回收应用程序池并等待10秒钟,那么当我重新加载网站时,我仍然需要等待10秒才能让网站热身.这表明该网站尚未启动.

查看任务管理器,我可以看到应用程序池一直在运行 – 即使在回收之后也是如此.但是,在我向网站提出自己的请求之前,内存使用率非常低.

我注意到的一件事是,根据此链接,我的网站的高级设置中没有“自动启动”设置:
https://blogs.msdn.microsoft.com/vijaysk/2012/10/11/iis-8-whats-new-website-settings/

如何让我的应用程序自动启动?

事实证明,这是一整套必须正确的设置.您将完成所有步骤以安装相关组件,并根据此链接进行各种配置更改: http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization

对我来说缺少的关键部分是Web.config中的指令,如下所示.我得到它只是“/登录”这是一个有效的路线,但一旦我切换到“/ [控制器] / [行动]”它工作.

此路由的优点是您可以创建自定义操作,该操作也将访问数据库(初始化实体框架),并执行您希望的任何其他慢速初始化.对我来说,我只是从数据库表中读取一条记录,所以我自动启动了ASP.NET,并且还节省了预热EF所需的几秒钟:)

<system.webServer>
  <applicationInitialization doAppInitAfterRestart="true" skipManagedModules="false">
      <add initializationPage="/Login/WarmUp" />
    </applicationInitialization>
</system.webServer>
网友评论