2.ASP.NET Core2.2_asp.net core项目中的Main方法

1. asp.net core项目的Main方法

image

2. Startup配置类的两个主要方法

2.1. ConfigureServices方法

用于配置应用程序需要的服务和内容。比如说第三方的插件或者自己封装的一些自定义内容等。都通过该方法进行调用。

2.2. Configure方法

该方法主要用来管理应用池里接收的各种http响应请求的管道和中间的配置都在该方法里进行使用。

Configure方法里向浏览器输出进程名

            app.Run(async (context) =>
            {
                //获取进程名
                var processName = System.Diagnostics.Process.GetCurrentProcess().ProcessName;

                //打印到浏览器
                await context.Response.WriteAsync(processName);
            });
        }

Startup配置类

public class Startup
    {
        //构造函数里引用IConfiguration服务,该服务是服务于asp.net core中用于读取各种配置、资源、信息等。
        //该服务在main方法里必须调用WebHost.CreateDefaultBuilder进行配置。否则即使注入了也无法使用该服务。
        public Startup(IConfiguration configuration)
        {
                       
            //对configuration进行依赖注入到Configuration字段
            Configuration = configuration;
        }

        //IConfiguration服务的注入容器,
        public IConfiguration Configuration { get; }
        //用于配置应用程序需要的服务和内容。比如说第三方的插件或者自己封装的一些自定义内容等。都通过该方法进行调用。
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });


            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
        }

        //该方法主要用来管理应用池里接收的各种http响应请求的管道和中间的配置都在该方法里进行使用。
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            //if (env.IsDevelopment())
            //{
            //    app.UseDeveloperExceptionPage();
            //}
            //else
            //{
            //    app.UseExceptionHandler("/Error");
            //}

            //app.UseStaticFiles();
            //app.UseCookiePolicy();

            //app.UseMvc();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();//使用开发人员报错的中间件
            }
            app.Run(async (context) =>
            {

                var configVal=Configuration["MyKey"];

                //打印到浏览器
                await context.Response.WriteAsync(configVal);
            });
        }
    }
posted @ 2022-04-17 08:45  青仙  阅读(62)  评论(0编辑  收藏  举报