web-dev-qa-db-ja.com

ASP.NET MVC 4アプリケーションの起動時にコードを実行する

アプリケーションの起動時にコードを実行したい

   if (!WebMatrix.WebData.WebSecurity.Initialized){
           WebMatrix.WebData.WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);

プロジェクトにApp_startフォルダーがありますが、このコードを追加できるファイルが見つかりませんでした。この目的を持つ特定のファイルがあるかどうか知っていますか?

どうもありがとう

22
Jim Blum

この種のスタートアップコードは通常、Application_Start()メソッドのGlobal.asax.csファイルに含まれます

27
bedane

コードをクラス内の静的メソッドに配置します。

public static class SomeStartupClass
{
    public static void Init()
    {
        // whatever code you need
    }
}

App_Startに保存します。ここで、MVCが初期化する他のコードとともに、Global.asaxに追加します。

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    WebApiConfig.Register(GlobalConfiguration.Configuration);
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);
    AuthConfig.RegisterAuth();

    SomeStartupClass.Init();
}

これで、起動コードがうまく分離されました。

39
John H

Global.asaxで次を使用します。

protected void Application_Start(object sender, EventArgs e)
{
3
Joe Ratzer