在Asp.net WebForm 项目中添加WebAPI

WebAPI 可以独立于MVC存在。 可以通过如下方法加入到WebForm项目中:

  1. 在项目引用中添加以下dll:
    • System.Net.Http
    • System.Net.Http.Formatting
    • System.Web.Extensions
    • System.Web.Http
    • System.Web.Http.WebHost
  2. Global 文件中 Application_Start方法中进行路由注册
    复制代码
                RouteTable.Routes.MapHttpRoute(
                    name: "ActionApi",routeTemplate: "api/{controller}/{action}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                    );
    
                RouteTable.Routes.MapHttpRoute(
                    name: "DefaultApi", routeTemplate: "api/{controller}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                    );
    复制代码

    第一种路由可以满足映射到Action的WebAPI,第二种路由则是通过httpmethod等约定进行路由映射

  3. 如果希望返回json格式的字符串则在 Application_Start中添加以下语句

    1
    2
    GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
    GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);

     

  4.  

    需要注意的是这种方式引入WebAPI会导致WebAPI的用户验证采用与WebForm一致的方式 

posted on 2015-04-14 15:57  leonworld2011  阅读(551)  评论(0)    收藏  举报

导航