asp.net Core3.0区域与路由配置的方法
在ASP.NET Core 3.0时代,路由配置相较于之前的版本发生了显著的变化。这篇文章将带领大家深入了解ASP.NET Core 3.0的区域与路由配置方法,对于学习和使用ASP.NET Core 3.0的朋友们来说,具有一定的参考学习价值。
一、MVC服务注册
在ASP.NET Core 3.0中,服务的注册方式发生了改变。新增了一些顶级扩展方法,用于注册MVC相关的方案。狼蚁网站SEO优化的示例中,通常会添加对控制器和API相关功能的支持。
对于只包含API的模板,使用以下代码:
```csharp
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
```
对于包含控制器、API、视图但不含页面的Web应用程序,使用以下代码:
```csharp
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
```
如果你需要支持Razor页面和最小控制器,可以使用:
```csharp
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
}
```
这些新方法可以灵活组合。例如,你可以在同一个项目中同时支持控制器和Razor页面。
二、Startup.Configure配置
走进ASP.NET Core的世界,深入路由的奥秘。传统路由MapControllerRoute、MapAreaControllerRoute和MapDefaultControllerRoute如何协同工作?它们的应用顺序又是怎样的呢?让我们一起揭开这个秘密的面纱。
想象一下你正在使用ASP.NET Core开发一个应用程序,其中控制器扮演着关键的角色。MapControllers为我们提供了属性路由的控制器支持,使得路由配置更加灵活和直观。而MapAreaControllerRoute则允许我们为控制器添加区域路由,使得大型应用程序的结构更加清晰和易于管理。而MapControllerRoute则用于添加控制器的常规路由。这样,你可以根据不同的需求灵活地配置路由。
随着技术的演进,映射Razor页面的任务现在被赋予了UseEndpoints。如果你的应用程序使用Razor页面,那么添加MapRazorPages将是一个明智的选择。终结点路由的引入使得Razor页面能够与其他框架无缝集成。
现在让我们来看看asp.Core 3.0中的Startup.Configure代码如何更新以反映这些变化。在配置应用程序时,我们首先设置开发环境异常页面、异常处理程序和HSTS策略等中间件。接着,我们启用HTTPS重定向、静态文件服务和Cookie策略等中间件。然后,我们设置路由和授权中间件。我们使用UseEndpoints方法来配置应用程序的路由。在这个方法中,我们可以添加常规路由、区域路由和Razor页面路由等。这是一个典型的ASP.NET Core应用程序的路由配置过程。
如果你想实现分区路由,需要在控制器头部添加Area和Route标签。这些标签指定了控制器的区域和路由模式。这对于大型应用程序尤为重要,因为它可以帮助我们更好地组织和管理代码。例如,在一个名为CMS的区域中,我们可以创建一个NewsController控制器并为其指定特定的路由模式。这个控制器下的NewsController需要添加[Area("CMS")]和[Route("CMS/[controller]/[action]")],以确保其遵循指定的路由模式。这是一个非常实用的功能,特别是在构建大型、复杂的应用程序时。这就是ASP.NET Core中的分区路由设置过程。
这篇文章介绍了如何在ASP.NET Core中配置和使用路由,包括常规路由、区域路由和Razor页面路由等。我们还了如何使用分区路由来更好地组织和管理大型应用程序的代码结构。希望这篇文章能对你的学习和工作有所帮助,并感谢你对狼蚁SEO的支持!同时请持续关注我们的后续内容,更多精彩等你来发现!
以上内容已渲染完毕,如有其他问题或需求,请随时告知。如您满意我的回答,请予以确认并继续交流其他话题。
编程语言
- asp.net Core3.0区域与路由配置的方法
- JavaScript使用DeviceOne开发实战(一) 配置和起步
- setTimeout学习小结
- JavaScript 闭包详细介绍
- mysql 5.7.27 winx64安装配置方法图文教程
- mysql charset=utf8你真的弄明白意思了吗
- 建立JSP操作以提高数据库访问的效率
- 深入浅析JS的数组遍历方法(推荐)
- BootStrap下拉菜单和滚动监听插件实现代码
- jQuery焦点图轮播插件KinSlideshow用法分析
- 微信小程序 (十七)input 组件详细介绍
- 全面解析Javascript无限添加QQ好友原理
- JS实现先显示大图后自动收起显示小图的广告代码
- Sql注入原理简介_动力节点Java学院整理
- ASP.NET中Validation验证控件正则表达式特殊符号的说
- Jquery实现跨域异步上传文件总结