.Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置

本文详细介绍了如何在.NETCore、.NET6和.NET8中配置启动类Program.cs,涉及服务集合、MVC构建、HTTP组件、AppSettings、Cookie管理、全局过滤器、JSON选项、Swagger生成、跨域设置以及请求大小限制等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置

没有废话,直接上代码


	    /// <summary>
	    /// 启动类
	    /// </summary>
		public static class Mains{
   
		static IServiceCollection _services;
		static IMvcBuilder _mvc;

		public static WebApplicationBuilder Main(this WebApplicationBuilder builder,IMvcBuilder mvc=null){
   
			
            _services = builder.Services;
            _mvc = mvc;

			// 增加Http组件
			_services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
			
			//在请求生命周期内,可以读取
			//web服务器信息,包括域名,客户端ip 等
			Web._service = _services;
			
			//读取appsetting.config内容  AppSettings.ConfigItems["xx"]/AppSettings.ConfigItems["a:b"]
			AppSettings.ConfigItems = builder.Configuration;
			
			//添加 cookie 静态类
			Cookies.serviceCollection = builder.Services;
			//自动批量注册服务
			AddService();

			//单独注册某个服务,特殊情况
			_services.AddSingleton<Ixxx,xxx>();
			
			 //添加拦截器
			 _services.AddControllersWithViews(x =>
			 {
   
			 	 //全局返回,统一返回格式
			     x.Filters.Add<ResAttribute>();
			     
			     //全局日志,报错
			     x.Filters.Add<LogAttribute>();
				 
				 //全局身份验证
			     x.Filters.Add<TokenAttribute>();
			 });

			//式化响应
            _services.AddControllers().AddJsonOptions(options =>
            {
   

                //时间格式化响应
                options.JsonSerializerOptions.Converters.Add(new JsonOptionsDate("yyyy-MM-dd HH:mm:ss"));

                //int格式化响应
                options.JsonSerializerOptions.Converters.Add(new JsonOptionsInt());

                //禁止字符串被转义成Unicode
                options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);

            });


			
            //swagger 设置
            _services.AddSwaggerGen(c =>
            {
   
                //请求头参数输入框设置
                c.OperationFilter<OptionHeaderFilter>();

                //文档描述
                c.SwaggerDoc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_42199478

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值