[英]IIS 8.5 - Application initialization not working
我已經安裝了應用程序初始化,將網站的應用程序池啟動模式設置為“始終運行”,並在網站的高級設置中設置Preload Enabled =“True”。
但是,如果我手動回收應用程序池並等待10秒鍾,那么當我重新加載網站時,我仍然需要等待10秒才能讓網站熱身。 這表明該網站尚未啟動。
查看任務管理器,我可以看到應用程序池一直在運行 - 即使在回收之后也是如此。 但是,在我向網站提出自己的請求之前,內存使用率非常低。
我注意到的一件事是,根據以下鏈接,我的網站的高級設置中沒有“自動啟動”設置: https : //blogs.msdn.microsoft.com/vijaysk/2012/10/11/iis -8-什么,新網站的設置/
如何讓我的應用程序自動啟動?
事實證明,這是一整套必須正確的設置。 您將完成所有步驟以安裝相關組件,並根據以下鏈接進行各種配置更改: http : //www.iis.net/learn/get-started/whats-new-in-iis-8/iis -80的應用程序初始化
對我來說缺少的關鍵部分是Web.config中的指令,如下所示。 我得到它只是“/登錄”這是一個有效的路線,但一旦我切換到“/ [控制器] / [行動]”它工作。
此路由的優點是您可以創建自定義操作,該操作也將訪問數據庫(初始化實體框架),並執行您希望的任何其他慢速初始化。 對我來說,我只是從數據庫表中讀取一條記錄,所以我自動啟動了ASP.NET,並且還節省了預熱EF所需的幾秒鍾:)
<system.webServer>
<applicationInitialization doAppInitAfterRestart="true" skipManagedModules="false">
<add initializationPage="/Login/WarmUp" />
</applicationInitialization>
</system.webServer>
嘗試應用程序初始化設置:
我有類似的問題,並嘗試使用IIS 8.5 Windows Server 2012 R2。 在引用了許多站點之后,IIS中的所有內容都已正確設置,但卻錯過了應用程序初始化設置。 請參閱以下鏈接,“設置”部分。
https://www.iis.net/configreference/system.webserver/applicationinitialization
這些文章非常好:
但是在我的情況下,安裝應用程序初始化角色時出現問題。
檢查IIS應用程序的模塊列表。 確保ApplicationInitializationModule存在。
我需要卸載/重新安裝此模塊。
我不知道發生了什么,因為它似乎首先工作,然后幾周后在開發過程中它停止了。 沒有任何修補/返工修復它,我開始懷疑我從來沒有真正看到這個工作。
卸載/重新安裝應用程序初始化模塊角色時解決問題。
如果有人想知道在有多個區域初始化時要在MVC中做什么,則需要將該區域放在開頭,所有這些都在根web.config文件中。 我被困了一段時間試圖把它放在該區域的web.config中。 它還與混合應用程序完美兼容。
<add initializationPage="/NotMVC.aspx" />
<add initializationPage="/Area1/Controller/Action" />
<add initializationPage="/Area2/Controller/Action" />
有多個.config位置可以設置這些設置。
我嘗試了所有但只是成功配置3,應用程序web.config。 我的具體用例是在WCF服務上調用GET方法。
應用程序初始化的步驟也可以在其他答案中找到。 這是最有幫助的一個。 IIS 8.0應用程序初始化
Web-AppInit
) Start mode = AlwaysRunning
Preload Enabled = true
添加到應用程序web.config
<system.webServer> <applicationInitialization doAppInitAfterRestart="true" skipManagedModules="true"> <add initializationPage="/Service.svc/Method/Parameter" /> </applicationInitialization> </system.webServer>
回收應用程序池
我想指出的是,初始化頁面是相對於應用程序而不是網站/域的根,所以如果我的絕對路徑是
domain.com/path1/path2/Service.svc
我不會在initializationPage
參數中包含/path1/path2
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.