ASP.NETCore6,新的“Program.cs”结构和初始化IdentityEntityFramework
创始人
2024-09-17 12:30:26
0

在ASP.NET Core 6中,Microsoft团队对“Program.cs”文件进行了重构,以提高代码的可读性和可维护性。新的结构为:

using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;

namespace MyWebApp
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup();
                });
    }
}

在此结构中,所有的配置和启动代码都在“Startup.cs”文件中。此外,Identity Entity Framework的初始化也需要在此文件中进行。以下为一个简单的示例:

//Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using MyWebApp.Models;

namespace MyWebApp
{
    public class Startup
    {
        private IConfiguration _configuration { get; }

        public Startup(IConfiguration configuration)
        {
            _configuration = configuration;
        }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();

            services.AddDbContext(options =>
                options.UseSqlServer(_configuration.GetConnectionString("DefaultConnection")));

            services.AddIdentity()
                .AddEntityFrameworkStores()
                .AddDefaultTokenProviders();

            //其他服务注册
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });
        }
    }
}

在上面的示例中,我们

相关内容

热门资讯

实测教程"广东雀神智... 实测教程"广东雀神智能插件智能价格"开挂(下载)辅助下载有挂攻略-技巧教程;亲,广东雀神智能插件智能...
大家学习交流"西兵辅... 大家学习交流"西兵辅助器"开挂(透视)辅助透视有挂工具-线上教程;无需打开直接搜索薇:1367043...
分享一款"新西游拼十... 分享一款"新西游拼十辅助器"开挂(安装)辅助安装今日头条-必备教程 【无需打开直接搜索加薇13670...
分享一款"创思维激k... 分享一款"创思维激k辅助插件"开挂(脚本)辅助脚本有挂分享-线上教程创思维激k辅助插件ai黑科技系统...
1.9分钟了解"有哪... 【亲,有哪些免费的wpk辅助码 这款游戏可以开挂的,确实是有挂的,很多玩家在这款有哪些免费的wpk辅...
今日百科"茶馆辅助软... 今日百科"茶馆辅助软件"开挂(下载)辅助下载有挂方针-科技教程 >>您好:软件加薇136704302...
必知教程"决战十三辅... 必知教程"决战十三辅助器"开挂(透视)辅助透视有挂解惑-2026新版技巧 了解更多开挂安装加(136...
揭秘几款"金虎爷辅助... 大家好,今天小编来为大家解答金虎爷辅助器这个问题咨询软件客服可以免费测试直接加微信(13670430...
透视教学"星悦游戏辅... 透视教学"星悦游戏辅助论坛"开挂(软件)辅助软件有人有挂-规律教程;无需打开直接搜索薇:136704...
一分钟秒懂"poke... 一分钟秒懂"pokemmo辅助器脚本下载"开挂(透视)辅助透视有挂总结-必胜教程 【无需打开直接搜索...