如何配置并使用ASP.NET Core路由,实现复杂长尾词路径匹配?
- 内容介绍
- 文章标签
- 相关推荐
本文共计405个文字,预计阅读时间需要2分钟。
ASP.NET Core 路由配置与使用
本文主要介绍ASP.NET Core中路由(Router)的配置和使用方法,以及与.NET Core MVC中路由的使用区别。
ASP.NET Core 路由配置:
1. 在Startup.cs文件中,配置路由中间件:csharppublic void ConfigureServices(IServiceCollection services){ services.AddControllers(); // 添加路由中间件 services.AddRouting();}
2. 在Startup.cs文件中,配置路由模式:csharppublic void Configure(IApplicationBuilder app, IWebHostEnvironment env){ if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); }
app.UseRouting();
app.UseEndpoints(endpoints=> { // 配置路由 endpoints.MapControllers(); });}
.NET Core MVC 路由使用:
1. 在Controller类中,使用Route属性配置路由:csharp[Route(api/[controller])]public class ValuesController : ControllerBase{ // ...}
2. 在Action方法中,使用RouteValue属性获取路由参数:csharp[HttpGet({id})]public IActionResult Get(int id){ // ...}
与ASP.NET MVC中路由的区别:
1. 路由模式:ASP.NET Core支持多种路由模式,如约束路由、模板路由等;而ASP.NET MVC仅支持模板路由。
2. 路由参数:ASP.NET Core支持动态路由参数,而ASP.NET MVC需要手动解析路由参数。
3. 路由中间件:ASP.NET Core使用中间件来处理路由,而ASP.NET MVC使用路由表来处理路由。
以下是一些具体的配置和使用方法:
1. 约束路由:csharpservices.AddControllersWithViews() .AddRazorPagesOptions(options=> { options.Conventions.Add(new RouteTokenTransformerConvention(new PathStringTransformer())); });
2. 模板路由:csharpservices.AddControllersWithViews() .AddRazorPagesOptions(options=> { options.Conventions.Add(new RouteAttributeTransformerConvention(new PathStringTransformer())); });
3. 动态路由参数:csharp[HttpGet({controller}/{action}/{id?})]public IActionResult Get(int? id){ // ...}
以上就是ASP.NET Core路由配置和使用的简单介绍。
本文主要介绍ASP.NET Core 路由(router)配置和使用方法,.NET Core中MVC的路由的使用方法,和之前asp.net mvc中配置使用有些区别,但也不是很大。下面看一下具体配置使用方法。
原文地址:ASP.NET Core 路由(router)配置和使用方法代码
本文共计405个文字,预计阅读时间需要2分钟。
ASP.NET Core 路由配置与使用
本文主要介绍ASP.NET Core中路由(Router)的配置和使用方法,以及与.NET Core MVC中路由的使用区别。
ASP.NET Core 路由配置:
1. 在Startup.cs文件中,配置路由中间件:csharppublic void ConfigureServices(IServiceCollection services){ services.AddControllers(); // 添加路由中间件 services.AddRouting();}
2. 在Startup.cs文件中,配置路由模式:csharppublic void Configure(IApplicationBuilder app, IWebHostEnvironment env){ if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); }
app.UseRouting();
app.UseEndpoints(endpoints=> { // 配置路由 endpoints.MapControllers(); });}
.NET Core MVC 路由使用:
1. 在Controller类中,使用Route属性配置路由:csharp[Route(api/[controller])]public class ValuesController : ControllerBase{ // ...}
2. 在Action方法中,使用RouteValue属性获取路由参数:csharp[HttpGet({id})]public IActionResult Get(int id){ // ...}
与ASP.NET MVC中路由的区别:
1. 路由模式:ASP.NET Core支持多种路由模式,如约束路由、模板路由等;而ASP.NET MVC仅支持模板路由。
2. 路由参数:ASP.NET Core支持动态路由参数,而ASP.NET MVC需要手动解析路由参数。
3. 路由中间件:ASP.NET Core使用中间件来处理路由,而ASP.NET MVC使用路由表来处理路由。
以下是一些具体的配置和使用方法:
1. 约束路由:csharpservices.AddControllersWithViews() .AddRazorPagesOptions(options=> { options.Conventions.Add(new RouteTokenTransformerConvention(new PathStringTransformer())); });
2. 模板路由:csharpservices.AddControllersWithViews() .AddRazorPagesOptions(options=> { options.Conventions.Add(new RouteAttributeTransformerConvention(new PathStringTransformer())); });
3. 动态路由参数:csharp[HttpGet({controller}/{action}/{id?})]public IActionResult Get(int? id){ // ...}
以上就是ASP.NET Core路由配置和使用的简单介绍。
本文主要介绍ASP.NET Core 路由(router)配置和使用方法,.NET Core中MVC的路由的使用方法,和之前asp.net mvc中配置使用有些区别,但也不是很大。下面看一下具体配置使用方法。
原文地址:ASP.NET Core 路由(router)配置和使用方法代码

