WebApiConfig.Register() vs. GlobalConfiguration.Configure()

本文关键字:Configure GlobalConfiguration vs WebApiConfig Register | 更新日期: 2023-09-27 18:12:42

我有一个引用Web API 2的项目,我正在处理路由的一些问题。据我所知,解决这个问题的正确方法是确保Global.asax文件中存在以下代码行:

GlobalConfiguration.Configure(WebApiConfig.Register);

但是在这个过程中,我发现了以下代码:

WebApiConfig.Register(GlobalConfiguration.Configuration);

Global.asax认为这两行代码都是有效的。有什么区别?

WebApiConfig.Register() vs. GlobalConfiguration.Configure()

来源:ASP中的属性路由。. NET Web API 2

从Web API 1迁移

在Web API 2之前,Web API项目模板生成的代码如下:

protected void Application_Start()
{
    // WARNING - Not compatible with attribute routing.
    WebApiConfig.Register(GlobalConfiguration.Configuration);
}

如果启用了属性路由,此代码将抛出异常。如果升级现有的Web API项目以使用属性路由确保将此配置代码更新为以下内容:

protected void Application_Start()
{
    // Pass a delegate to the Configure method.
    GlobalConfiguration.Configure(WebApiConfig.Register);
}