IIS对于流量较低的网站有一个烦人的功能,它会回收未使用的工作进程,导致第一个用户在一段时间后到达网站以获得极长的延迟(30秒以上).
我一直在寻找问题的解决方案,我发现了这些潜在的解决方案.
A. 使用Application Initialization插件
B. 使用.NET 4自动启动
D. 预编译站点
我想知道哪一个更受欢迎,更重要的是,为什么有这么多解决方案来解决同样的问题?(我的猜测是他们不是,我只是没有正确理解的东西).
编辑
执行C似乎足以让我的网站保持热身,但我发现我网站的真正根源是与实体框架有关,我似乎无法弄清楚为什么它会变冷.看到这个问题,遗憾的是还没有得到解答,已经得到了解答!
我最终只需要制作一个热身脚本来偶尔点击我的网站,以确保它保持快速.
我正在使用 VS2013 和 Microsoft WebAPI。当我启动应用程序时,它会花费大量时间执行以下操作:
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/1273337584/ROOT-1-130406535805395435): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/1273337584/ROOT-1-130406535805395435): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/1273337584/ROOT-1-130406535805395435): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/1273337584/ROOT-1-130406535805395435): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Utilities.v4.0\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Utilities.v4.0.dll'. Skipped loading symbols. Module is optimized …Run Code Online (Sandbox Code Playgroud)