在启动时MVC是否需要与WebApi不同的HttpConfiguration?

时间:2016-07-11 16:58:26

标签: asp.net-web-api2 owin asp.net-mvc-5

我正在开发的项目使用MVC 5,web api 2和owin来托管一个网站和一个api。我想知道是否需要为web api单独配置,这不是GlobalConfiguration的配置。我问这个问题是因为当试图访问网页时,应用程序的行为类似于api的请求。这是我的启动和global.asax

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        ConfigureAuth(app);
        ConfigureOAuthTokenConsumption(app);
        app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
        app.UseWebApi(System.Web.Http.GlobalConfiguration.Configuration);
    }
}

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        GlobalConfiguration.Configure(config => 
        {
            AutofacConfig.Register(config);
            WebApiConfig.Register(config);
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        });

        System.Data.Entity.Database.SetInitializer(new CustomerVoiceContextInitializer());
        CustomerVoiceContext db = new CustomerVoiceContext();
        db.Database.Initialize(true);
    }
}

1 个答案:

答案 0 :(得分:0)

好吧,我花了一些时间切换到使用2个单独的配置。 1表示MVC特定设置,另一个表示web api。到现在为止还挺好。 GlobalConfiguration.Configuration用于MVC设置,我刚刚为api配置新建了HttpConfiguration。如果有人知道更好或更技术上正确的方法来解决这个问题,请发帖。