zoukankan      html  css  js  c++  java
  • 给现有的MVC项目中添加WebAPI支持时需要注意的事项

    1.直接右击MVC项目的controller文件夹,选择添加 WebAPI 控制器类v2.1,项目中会自动引用了system.web.http;
    system.web.http.webhost;system.net.http。建议检查下项目引用里是否存在这些引用,如果没有则需要重复操作下本步骤,直到三个引用都添加。

    2.在App_Start新建一个WebApiConfig类,补充以下代码(可以根据自己的需要,灵活调整下也无妨)
    using System.Web.Http;

    namespace WebApplication1
    {
        public static class WebApiConfig
        {
            public static void Register(HttpConfiguration config)
            {
                // Web API 配置和服务

                // Web API 路由
                config.MapHttpAttributeRoutes();

                config.Routes.MapHttpRoute(
                    name: "DefaultApi",
                    routeTemplate: "api/{controller}/{action}/{id}",//根据自己的项目需要,路径中补充了action
                    defaults: new { id = RouteParameter.Optional }
                );
            }
        }
    }

    3.最最重要的环节:!!!将WebApiConfig类注册到Global.asax中,此处一定要注意代码的先后顺序,否则在调试本项目下的webapi接口时会报404错误!
    namespace WebApplication1
    {
        public class MvcApplication : System.Web.HttpApplication
        {
            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();

                GlobalConfiguration.Configure(WebApiConfig.Register);//WebAPI路由注册必须在此处调用,如果放到了其他行,在调用api时可能会提示404!!!!!!!


                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                RouteConfig.RegisterRoutes(RouteTable.Routes);
                BundleConfig.RegisterBundles(BundleTable.Bundles);


                //不要在这里写注册webapi路由的代码,否则会报404错误!!!
                
            }
        }
    }

    4.下面的代码是新建mvc+webApi项目时,microsoft自动生成的Global.asax类中,mvc和webapi路由注册的代码示例,供参考!!
    public class MvcApplication : System.Web.HttpApplication
        {
            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();//注册所有区域
                GlobalConfiguration.Configure(WebApiConfig.Register);//注册webAPI路由!!!
                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);//注册过滤器
                RouteConfig.RegisterRoutes(RouteTable.Routes);//注册mvc路由
                BundleConfig.RegisterBundles(BundleTable.Bundles);//注册Bundle绑定

            
            }
        }

  • 相关阅读:
    Swift游戏实战-跑酷熊猫 14 熊猫打滚
    Swift游戏实战-跑酷熊猫 13 二段跳的实现
    Swift游戏实战-跑酷熊猫 12 与平台的碰撞
    Swift游戏实战-跑酷熊猫 11 欢迎进入物理世界
    Swift游戏实战-跑酷熊猫 10 视差滚动背景
    Swift游戏实战-跑酷熊猫 09 移除场景之外的平台
    ANE-调用原生地图注意点
    ANE-如何加入ane,调试时又不报错
    ANE-调用原生组件横屏定位问题
    qrcode.js的识别解析二维码图片和生成二维码图片
  • 原文地址:https://www.cnblogs.com/jeff151013/p/14704604.html
Copyright © 2011-2022 走看看