主要给大家介绍了关于asp.net Core3.0区域与路由配置的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用asp.net Core3.0具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 ASP.NET Core 3.0 引入了许多改进和优化,其中路由和区域的配置方式相较于之前的版本有了显著的变化。在本文中,我们将深入探讨 ASP.NET Core 3.0 中的区域(Areas)与路由配置的方法。 ### 1. MVC 服务注册 在 ASP.NET Core 3.0 中,MVC 服务的注册发生了变化。过去,我们通常会使用 `UseMvc` 方法来设置 MVC 服务,但现在推荐使用 `AddControllers`、`AddControllersWithViews` 和 `AddRazorPages` 这些新方法。这些方法更加精细化,允许开发者根据应用需求选择性地添加对控制器、视图或 Razor 页面的支持。 - `AddControllers`:仅添加对控制器和 API 功能的支持,不包括视图。 - `AddControllersWithViews`:除了控制器和 API 功能外,还添加对视图的支持。 - `AddRazorPages`:为 Razor 页面和最小控制器支持提供服务。 这些方法可以组合使用,例如 `AddControllers()` 和 `AddRazorPages()` 的组合相当于在 ASP.NET Core 2.2 中使用 `AddMvc()`。 ### 2. Startup.Configure 配置 在 `Startup.Configure` 方法中,路由配置的顺序和方式也有所改变。建议使用 `UseRouting` 来定义应用的路由策略。注意以下几点: - `UseRouting` 应该在 `UseStaticFiles` 之前,因为静态文件需要依赖路由信息。 - 如果应用使用了身份验证/授权,如 `[Authorize]`,则应将 `UseAuthentication` 和 `UseAuthorization` 放在 `UseRouting` 之后。 - 对于 CORS(跨源资源共享)功能,如 `[EnableCors]`,应该在 `UseRouting` 后添加 `UseCors`。 在 ASP.NET Core 2.2 中,我们使用 `UseMvc` 或 `UseSignalR` 来配置路由和 SignalR 中心。但在 3.0 中,我们使用 `UseEndpoints` 替换它们。`UseEndpoints` 允许更加细粒度的控制,例如: - `MapControllers`:用于添加属性路由的控制器支持。 - `MapAreaControllerRoute`:针对区域的控制器添加传统路由。 - `MapControllerRoute`:添加常规控制器路由。 - `MapRazorPages`:用于配置 Razor 页面的路由。 在 `UseEndpoints` 中添加路由时,应按照更具体到更通用的顺序进行。例如: ```csharp app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapAreaControllerRoute("areaRoute", "AreaName", "{area}/{controller=Home}/{action=Index}/{id?}"); endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}"); endpoints.MapRazorPages(); }); ``` 这里,`MapAreaControllerRoute` 先于 `MapControllerRoute`,确保区域路由优先匹配。 ### 3. 区域(Areas) 区域在 ASP.NET Core 中用于组织大型应用的代码结构,将相关的控制器和视图分组到单独的目录中。在 ASP.NET Core 3.0 中,配置区域的路由仍然通过 `MapAreaControllerRoute` 方法实现。例如,创建一个名为 "Admin" 的区域,其路由配置如下: ```csharp endpoints.MapAreaControllerRoute( name: "admin", areaName: "Admin", pattern: "admin/{controller=Home}/{action=Index}/{id?}"); ``` 这样,`Admin` 区域中的控制器将在 URL 中带有 "admin/" 前缀,例如 `http://example.com/admin/home/index`。 ### 总结 ASP.NET Core 3.0 对 MVC 服务注册和路由配置进行了重大调整,旨在提高灵活性和可维护性。开发者现在可以根据应用的需求选择性地添加服务,并使用 `UseEndpoints` 精确控制路由。区域的配置依然存在,但与路由的结合更加紧密。理解并掌握这些变化对于构建高效且易于管理的 ASP.NET Core 3.0 应用至关重要。































- 粉丝: 6
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- AAGUI-C++资源
- 微信小程序结合 MQTT 与百度天工 IoT hub 及 ESP8266 的应用方案
- AIAS-Java资源
- hikyuu-Python资源
- GiteeIOS-Swift资源
- matlab-Matlab资源
- springboot-openai-chatgpt-机器人开发资源
- kmvvm-Kotlin资源
- A2A-AI人工智能资源
- salvo-Rust资源
- 智能环境助手-硬件开发资源
- Android Course Work-移动应用开发资源
- jiayoubiancheng-单片机开发资源
- XueYi-MultiSaas-Typescript资源
- 微信平台上的小程序 - 超级课程表
- Magic.NET-C#资源


