启动ASP.NET MVC 4应用程序时执行代码

时间:2014-01-17 15:39:54

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我想在我的应用程序启动时执行一些代码

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

项目中有一个文件夹App_start,但我找不到任何可以添加此代码的文件。您知道是否存在具有此目的的特定文件吗?

非常感谢

3 个答案:

答案 0 :(得分:36)

将代码放在类中的静态方法中。

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

将其保存在App_Start中。现在将它添加到Global.asax,以及MVC初始化的其他代码:

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();
}

现在你的启动代码很好地分开了。

答案 1 :(得分:25)

此类启动代码通常采用Application_Start()方法, Global.asax.cs 文件

答案 2 :(得分:3)

在Global.asax中使用以下内容:

protected void Application_Start(object sender, EventArgs e)
{