浏览器标题切换
浏览器标题切换end

Intern Day7 - ASP.NER Core Startup类/Startup.cs

介绍

Startup类是ASP.NET Core Web应用的启动类。在Program.cs中后面有一行 webBuilder.UseStartup(); ,这句代码指定了ASP.NER Core应用启动类是Startup(默认)。

Startup.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.OpenApi.Models;
using WebApplication3.Model;

namespace WebApplication3
{
    public class Startup
    {
        public Startup(IConfiguration configuration) // 程序配置接口
        {
            Configuration = configuration;
        }

        
        
        // IConfiguration 程序配置接口,用来读取文件和内存中的配置
        public IConfiguration Configuration { get; }

        
        
        // 这个方法用于处理中间件/配置服务,在时候被执行
        // IServiceCollection服务配置接口,用来配置常用服务及依赖注入
        public void ConfigureServices(IServiceCollection services) // 注入
        {
            services.AddControllers();  
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo {Title = "WebApplication3", Version = "v1"});
            });
        }

        
        
        // IApplicationBuilder应用配置接口,用来配置中间件,所有的中间件都写在这个下面
        // IWebHostEnvironment主机环境,用于不同环境不同处理
        // 这个方法仅仅用来注册中间件,只会执行一次,主机run的时候执行,执行的目的是把以下中间件添加到管道里
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        { 
            if (env.IsDevelopment()) // 判断是不是一个开发模式
            {
               app.UseDeveloperExceptionPage();//提供了一个开发人员异常页面(即捕捉异常的代码在最前面)
               app.UseSwagger();
               app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "WebApplication3 v1"));
            } // 可以放在方法开头
          
            app.UseHttpsRedirection(); //使用Https
          
            app.UseRouting(); // 路由中间件
          
            app.UseAuthorization(); // 启用身份验证
          
            // 终端中间件
            app.UseEndpoints(endpoints =>
            {
               endpoints.MapControllers();
            });
        }
    }
}

如果要一段一段分开看的话,参考该博主的博客:https://blog.csdn.net/qq_31803267/article/details/106600933?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161407350016780262581682%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161407350016780262581682&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-1-106600933.pc_search_result_hbase_insert&utm_term=Configure(IApplicationBuilder+app%2C+IWebHos'、

posted @   抓水母的派大星  阅读(52)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示