项目整体感知
项目初始化
项目启动流程:
- Program.cs
- Microsoft.Extensions.Hosting.Host => CreateHostBuilder().UseStartup
=> Run
- Microsoft.Extensions.Hosting.Host => CreateHostBuilder().UseStartup
- Strttup.cs
- Startup()构造注入IConfiguration,IWebHostEnvironment 注入环境配置及配置管理
- ConfigureServices(IServiceCollection services) 添加服务,注入中间件
- Configure(IApplicationBuilder app, IWebHostEnvironment env) 配置服务选项及pipeline管道服务 e.g. UseMVC UseStaticFiles UseSpa 等等
注意点
UseStaticFiles 等需要文件路由处理的必须放于路由配置之前,不然将会被路由截获,而得不到需要的前端静态文件
路由配置有2种模式,二者可以混用,最终由统一的服务处理
- 传统路由 使用路由表配置 Concentional routing
使用配置实现路由机制 e.g. rotes.MapRoute(name:"default",templete:"{controller=Home}/{action=index}") - 特征注释路由 使用注解标记 Attribute routing
使用简单,不需要配置路由表,直接使用
controller映射控制器,[action]映射Action[Route("[controller]/[action]")] public class HomeController:Controller { public Stirng Index() { return "Hello From Home"; } }