1.新建项目 ---> 选择 web 应用程序 选择 webApi
2. 创建一个httpmodeule类 放到app_data文件夹下
 public class MyHttpModule : IHttpModule
{
#region IHttpModule 成员
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
string url = context.Request.FilePath;
string json = string.Empty;
try
{
if (url.Contains("/api/"))//只要访问路径是接口的都要验证token
{
}
}
catch
{
json = "{\"resultCode\": \"0\",\"data\":{\"returnInfo\":\"服务器异常\"}}";
context.Response.Write(json);
context.Response.End();
}
}
#endregion
}
2.在app strat 文件夹下面 WebApiConfig 修改成如下代码
 public static void Register(HttpConfiguration config)
{
// Web API 路由
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
var appjsonType = config.Formatters.JsonFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "text/json");
config.Formatters.JsonFormatter.SupportedMediaTypes.Remove(appjsonType);
}
3.项目管理nuget包
AttributeRouting 搜索 安装如下nuget包
AttributeRouting (ASP.NET Web API) 选择安装
 
4.接下来在webconfig中配置文件

在<system.web> 节点下面 配置
   <httpModules>
<add name="项目名称.MyHttpModule" type="项目名称.MyHttpModule" />
</httpModules>

  

在 <system.webServer>节点西面配置 添加如下内容
 
<validation validateIntegratedModeConfiguration="false" />
<modules>
<add name="项目名称.MyHttpModule" type="项目名称.MyHttpModule" />
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="AttributeRouting" path="routes.axd" verb="*" type="AttributeRouting.Web.Logging.LogRoutesHandler, AttributeRouting.Web" />
</handlers>
<directoryBrowse enabled="true" />

  好了  写到这里 程序 就OK 了  高手轻喷

 
 
 
 
 

  

最新文章

  1. Http请求中请求头Content-Type 为 form-data、x-www-form-urlencoded、raw、binary的区别
  2. YOLO: Real-Time Object Detection
  3. 使用Extjs组件实现Top-Left-Main布局并且增加事件响应
  4. SQL Developer新建连接
  5. 判断是否存在哈密顿路--HDU 5424
  6. Visual Studio远程调试
  7. 简单的c#插件框架
  8. iOS block里的self
  9. css 权威指南笔记(一)
  10. JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容
  11. Problem F
  12. Mysql 常用SQL语句集锦
  13. JavaScript之Json的使用
  14. golang 入门之struct继承,嵌套
  15. git diff 的用法
  16. xml选择节点方法
  17. SDRAM容量的计算方法
  18. Freebsd下用pureftpd配置FTP服务器
  19. LeetCode 7. Reverse Integer 一个整数倒叙输出
  20. 如何使用新的glibc来编译自己的程序

热门文章

  1. Flexible 弹性盒子模型之CSS flex-shrink 属性
  2. Android中的LinearLayout布局
  3. Android手机相册的布局
  4. Linux设备管理(四)_从sysfs回到ktype
  5. java 泛型
  6. babel-loader-presets
  7. Vue.js&mdash;&mdash;60分钟browserify项目模板快速入门
  8. 架构设计:一种远程调用服务的设计构思(zookeeper的一种应用实践)
  9. MailKit---获取邮件
  10. Android开发学习之路-EventBus使用