gpt4 book ai didi

asp.net - 不重新映射请求的ASP.NET Web服务的IIS 7.5应用程序初始化(预热)

转载 作者:行者123 更新时间:2023-12-03 12:43:36 26 4
gpt4 key购买 nike

我试图使用IIS 7.5应用程序初始化扩展为我的Web应用程序配置预热过程。我正在采用这种方法来最大程度地减少由应用程序池回收引起的速度下降,这是一个问题。

我想要的是在不重新映射其他任何请求的情况下获得应用程序初始化的好处。

到目前为止我做了什么

我遵循explained well in other questions on Stack Overflow的基本用例,效果很好!我创建了一个名为app_starting.htm的初始页面,并使用以下代码在应用程序初始化时显示该页面:

<applicationInitialization remapManagedRequestsTo="app_starting.htm" skipManagedModules="true" >
<add initializationPage="/" />
</applicationInitialization>


为什么这不好

我想使用初始化来加快对使用ASP.NET MVC编写的基于REST的Web服务的请求。该Web服务是多个应用程序的后端。当他们向资源(即 /client/1/addresses)发出请求时,他们无法处理接收启动页面。

我尝试过的

我删除了 remapManagedRequestsTo属性。但是,现在,当我在初始化期间请求资源时,在初始化完成之前会出现500错误。之后,响应会恢复正常。依赖此服务的应用程序也不会很好地响应500错误,因为初始化不应该是错误条件。

我需要的

在不执行任何重新映射的情况下,我希望请求行为能够恢复正常。即使正在进行初始化,也应将对应用程序的其他请求排队,并等待初始化完成之后。

我有什么想念的吗?我能做到吗?

谢谢您的帮助!

最佳答案

我想我回答了我自己的问题。我删除了skipManagedModules属性,它起作用了。这段代码完成了应用程序的初始化,在预热期间,请求似乎要等待其完成才被处理:

<applicationInitialization>
<add initializationPage="/" />
</applicationInitialization>


我找不到任何有关其为何以这种方式运行的文档,也不太了解 skipManagedModules的含义。如果有人可以进一步解释,我可以将解释标记为答案。谢谢!

关于asp.net - 不重新映射请求的ASP.NET Web服务的IIS 7.5应用程序初始化(预热),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15348621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com