Jas*_*son 19 asp.net iis splash-screen warm-up iis-7.5
我正在尝试使用IIS 7.5应用程序初始化扩展来为我的Web应用程序配置预热过程.这是我采取的一种方法,旨在最大限度地减少应用程序池回收造成的缓慢下降,这是Stack Overflow上其他问题中解释的问题.
我想要的是获得应用程序初始化的好处,而无需在其他地方重新映射请求.
我按照IIS 8的说明进行了基本用例,效果很好!我创建了一个名为app_starting.htm的启动页面,通过使用此代码,它会在应用程序初始化时显示:
<applicationInitialization remapManagedRequestsTo="app_starting.htm" skipManagedModules="true" >
<add initializationPage="/" />
</applicationInitialization>
Run Code Online (Sandbox Code Playgroud)
我想使用初始化来加速对使用ASP.NET MVC编写的基于REST的Web服务的请求.此Web服务是多个应用程序的后端.当他们向资源(即/client/1/addresses
)发出请求时,他们无法处理接收启动页面.
我删除了该remapManagedRequestsTo
属性.但是,现在当我在初始化期间请求资源时,我得到500错误,直到初始化完成.之后,回复恢复正常.依赖于此服务的应用程序也不会很好地响应500错误,因为初始化不应该是错误条件.
在不执行任何重映射的情况下,我希望请求行为恢复正常.即使正在进行初始化,对应用程序的其他请求也应排队等待,直到初始化完成后.
有什么我想念的吗?我可以做到这一点吗?
谢谢您的帮助!
Jas*_*son 26
我想我回答了自己的问题.我删除了skipManagedModules
属性并且它有效.此代码完成应用程序初始化,在预热期间,请求似乎等待它在处理之前完成:
<applicationInitialization>
<add initializationPage="/" />
</applicationInitialization>
Run Code Online (Sandbox Code Playgroud)
我找不到任何关于它为什么会这样做的文档,并且不能真正理解它的skipManagedModules
含义.如果有人可以进一步解释这一点,我可以将解释标记为答案.谢谢!
归档时间: |
|
查看次数: |
6920 次 |
最近记录: |