我有两个基于2.0和4.0框架构建的Web应用程序。我从4.0 FM网站链接到2.0 FW网站。因此两者都托管在同一个IIS上,但具有不同的应用程序池。我使用iframe从site4.0调用此site2.0。因此,当我单击一个按钮加载此site2.0时,第一次加载需要花费很多时间。之后它像往常一样加载。如果您有任何建议,请建议我。我正在考虑使用global.asax文件,并在第一次加载site4.0时使用Application_start事件加载此站点。但不知道该怎么做。
由于
答案 0 :(得分:1)
您的请求有延迟的原因有几个:
如果是第一个请求,那么您的网站仅仅是JITing(称为即时编译)。第一次调用任何 .NET应用程序时会发生这种情况;在IIS上运行它表现为比正常的第一个请求更长的时间。这很正常。
有两种方法可以对抗它:
ngen
to pre-JIT your site之类的产品。 如果后续请求有延迟,则需要对应用程序进行概要分析。确保它内置于'发布'模式。
当应用程序池被回收时,您的站点将不得不重新进行JIT; this is normal。保持活动任务 - 自动HTTP请求实用程序(如经常执行wget
的脚本)将使您的应用程序池因不活动而无法回收。