Asp.net core中间件 ,处理http请求和响应的中间组件,对比起asp.net ,asp.net core 管道机制,可以说是帅气十足,简单直接。下面是通过中间件对一个请求的url 指定路由
- 新建webapi 项目
- Startup类中Configure方法中添加处理中间件代码如下
???public void Configure(IApplicationBuilder app, IHostingEnvironment env) ???????{ ???????????if (env.IsDevelopment()) ???????????{ ???????????????app.UseDeveloperExceptionPage(); ???????????}
????????//指定特定请求url 的路由 ????????????app.Use(async (context, nextHandler) => ???????????{ ???????????????if (context.Request.Path == "/test") ???????????????{ ???????????????????context.Request.Path = "/api/values"; ???????????????} ???????????????await nextHandler(); ???????????}); ???????????app.UseMvc(); ???????}其中 "/api/values"是ValuesController下的路由,如下代码
???[Route("api/[controller]")] ???public class ValuesController : Controller ???{ ???????// GET api/values ???????[HttpGet] ???????public IEnumerable<string> Get() ???????{ ???????????return new string[] {"value1", "value2"}; ???????} ???}
实现功能只需几行代码,下面看下结果,用postman输入请求地址http://localhost:64651/test,结果是返回api/values下的结果,如下图
Asp.net core 中间件简单应用
原文地址:http://www.cnblogs.com/zhongwd/p/7499226.html