Zr.Admin项目Program.cs配置项解析

using AspNetCoreRateLimit;
using Infrastructure.Converter;
using Microsoft.AspNetCore.DataProtection;
using NLog.Web;
using SqlSugar;
using System.Text.Json;
using ZR.Admin.WebApi.Extensions;
using ZR.Common.Cache;
using ZR.Common.DynamicApiSimple.Extens;
using ZR.Infrastructure.WebExtensions;
using ZR.ServiceCore.Signalr;
using ZR.ServiceCore.SqlSugar;

// WebApplication表示整个Web, 创建WebApplicationBuilder,用于配置和构建 ASP.NET Core 应用程序
var builder = WebApplication.CreateBuilder(args);

// Host 是 builder 的一个属性,表示应用程序的主机配置。主机是 ASP.NET Core 应用程序的核心,负责管理应用程序的生命周期、依赖注入、配置等。
// 将 NLog 日志框架集成到 ASP.NET Core 应用程序中
builder.Host.UseNLog();

// 注入项目中的程序集。如ZR.Model等
// Services 是 builder 的一个属性,表示应用程序的服务容器。
// 通过 Services,可以向应用程序注册各种服务,这些服务可以在应用程序的其他部分通过依赖注入(Dependency Injection)来使用
builder.Services.AddDynamicApi();

// 向 ASP.NET Core 应用程序的服务容器注册 MVC 控制器及其相关服务。这使得应用程序能够处理 HTTP 请求,并通过控制器方法返回相应的 HTTP 响应
builder.Services.AddControllers();

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
// 向 ASP.NET Core 应用程序的服务容器注册与 API 终结点相关的服务。这些服务用于生成 API 的元数据信息,通常用于生成 API 文档(如 Swagger/OpenAPI)
builder.Services.AddEndpointsApiExplorer();
// 向 ASP.NET Core 应用程序的服务容器注册 Swagger 生成器服务。它可以根据应用程序中的 API 终结点自动生成 OpenAPI 规范
builder.Services.AddSwaggerGen();

//注入HttpContextAccessor
// 将 HttpContextAccessor 注册为 IHttpContextAccessor 接口的单例服务
// 由于使用了 AddSingleton,HttpContextAccessor 实例在应用程序的整个生命周期内只会创建一次,并在所有请求中共享
// 应用程序的任何地方方便地访问当前 HTTP 请求的上下文信息,例如:例如在服务层或中间件中获取请求头、用户身份等信息
builder.Services.AddSingleton();

// 跨域配置 安全地处理来自不同域的请求,从而实现跨域资源共享,对应appsettings.json文件中的 corsUrls 配置项
// 向 ASP.NET Core 应用程序的服务容器注册跨域资源共享(CORS)服务
// 允许网页从不同的域(域名、协议或端口)请求资源。默认情况下,浏览器会阻止跨域请求,CORS 提供了一种安全的方式来允许这些请求
// builder.Configuration 是 IConfiguration 的实例,表示应用程序的配置。它通常用于从 appsettings.json 文件、环境变量、命令行参数等来源读取配置信息
// builder.Configuration 被传递给 AddCors 方法,以便从配置文件中读取 CORS 相关的设置
b

你可能感兴趣的:(Zr.Admin开发,zradmin,启动项,.net,7启动,Program.cs,Program.cs说明)