1

發表在我的asp.net MVC4項目,我有一個需要進行初始化或執行每個授權的任務等,當您訪問的網站app_start文件夾下的一些文件的.cs如何自動運行app_start文件夾下的文件他們需要花費相當多的時間在第一次啓動應用程序時執行所有這些任務。是否可以在部署時自動運行app_start文件夾下的所有文件。因此,當有人第一次訪問該網站時,不會花費太多時間。如果使用webdeploy

回答

2

看看auto-starting your application

添加到您的applicationHost.config

<sites>  
    <site name="MySite" id="1">  
      <application path="/" 
         serviceAutoStartEnabled="true" 
         serviceAutoStartProvider="PreWarmMyCache" />  
    </site>  
</sites> 
<serviceAutoStartProviders> 
    <add name="PreWarmMyCache" type="PreWarmCache, MyAssembly" /> 
</serviceAutoStartProviders> 

及以下預加載你的工作

public class PreWarmCache : System.Web.Hosting.IProcessHostPreloadClient { 

    public void Preload(string[] parameters) { 

     // Perform initialization and cache loading logic here... 

    } 

} 
+0

謝謝你,Dave,能否請您確認我做必須在web.config中添加它,或者在您的引用鏈接中解釋的applicationHost.config文件中。 – sam

+1

我的不好,更新了答案。它應該是applicationHost.config – dove

+0

非常感謝。可以請你也引導我必須更換我的公共類MvcApplication:System.Web.HttpApplication {保護無效的Application_Start()與公共類PreWarmCache:System.Web.Hosting.IProcessHostPreloadClient { – sam