排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
分类:
.NET Core
.net core中可以使用中间件处理路由,如下在Configure直接使用:
//自定义中间件来实现一个路由 app.Use(next => async context => { if (context.Request.Path == "/") { await context.Response.WriteAsync("Hello terminal middleware!"); return; } if (context.Request.Path == "/home/about") { context.Response.ContentType = "text/html;charset=UTF-8"; await context.Response.WriteAsync("关于我们页面!"); return; } if (context.Request.Path == "/home/about.html") { //context.Response.Redirect("/home/Privacy"); context.Response.ContentType = "text/html;charset=UTF-8"; await context.Response.WriteAsync("伪静态!"); return; } await next(context); });
中间件也可以封装到文件中去使用:
namespace MyFirstNETCORE.Middleware { public class UrlMiddleware { private readonly RequestDelegate _next; private readonly ILogger _logger; public UrlMiddleware(RequestDelegate next, ILoggerFactory logger) { _next = next; _logger = logger.CreateLogger<RequestIPMyMiddleware>(); } public async Task Invoke(HttpContext context) { //if (context.Request.Path == "/") //{ // await context.Response.WriteAsync("Hello terminal middleware!"); // return; //} if (context.Request.Path == "/home/about") { context.Response.ContentType = "text/html;charset=UTF-8"; await context.Response.WriteAsync("关于我们页面!"); return; } if (context.Request.Path == "/home/about.html") { //context.Response.Redirect("/home/Privacy"); context.Response.ContentType = "text/html;charset=UTF-8"; await context.Response.WriteAsync("伪静态!"); return; } await _next.Invoke(context); //执行下一个中间件 } } public static class UrlMiddlewareExtensions { public static IApplicationBuilder UseMyUrl(this IApplicationBuilder app) { app.UseMiddleware<UrlMiddleware>(); return app; } } }
然后像其他中间件一样使用即可:
欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739
评价