猿教程 Logo

配置Web API

Web API支持基于代码的配置。它不能被配置在Web.config文件中。我们可以配置Web API来定制Web API托管基础设施和组件的行为如路由、格式器,过滤器,DependencyResolver,messagehandler ParamterBindingRules、属性、服务等。

我们创建了一个简单的Web API项目在创建Web API项目部分。

Web API项目默认在App_Start文件夹包含一个WebApiConfig类,还包括一个Global.asax如下所示。


Global.asax文件如下:

public class WebAPIApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        GlobalConfiguration.Configure(WebApiConfig.Register);
        
        //other configuration
    }
}

WebApiConfig如下:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
        // configure additional webapi settings here..
    }
}

Web API应用程序启动时,配置处理器随之启动。它将通过调用Application_Start方法来调用GlobalConfiguration.Configure(WebApiConfig.Register)方法。

Configure()方法需要传入回调方法,该回调方法就是配置Web API的代码。在默认情况下这个回调方法是静态WebApiConfig.Register()方法。正如上面你可以看到的,WebApiConfig.Register()方法包含一个类型为 HttpConfiguration的参数,该参数用于用于配置Web API。HttpConfiguration类包括以下属性,通过它您可以覆盖默认的Web API的行为。

属性
描述
DependencyResolver获取或者设置依赖的属性
Filters获取或设置过滤器
Formatters获取或设置formatters
IncludeErrorDetailPolicy获取或者设置异常信息是否该包含在error messages中
MessageHandlers获取或设置Message handlers
ParameterBindingRules获取或设置参数绑定规则
Properties获取或设置当前web api实例的properties
Routes获取或设置路由规则
Services获取或设置services


访问MSDN了解HttpConfiguration的所有成员的详细资料。

在下一节将学习如何配置Web API的路由。



版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/webapi/config-webapi.html