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

Jim*_*lum 22 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);
Run Code Online (Sandbox Code Playgroud)

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

非常感谢

Joh*_*n H 39

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

public static class SomeStartupClass
{
    public static void Init()
    {
        // whatever code you need
    }
}
Run Code Online (Sandbox Code Playgroud)

把它保存在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();
}
Run Code Online (Sandbox Code Playgroud)

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


小智 28

这种启动代码通常在Application_Start()方法Global.asax.cs文件中