Skip to main content

2.1 ASP.NET 5 集成

尽快升级

截至 2022 年 05 月 31 日,微软已经停止了 .NET5 的技术支持,所以请尽快升级到 .NET6 版本,详细升级可查阅 【.NET5 升级 .NET6

推荐使用脚手架

Furion 官方提供了非常灵活方便的脚手架,可以快速的创建多层架构项目。

推荐使用 《2.2 官方脚手架》代替本章节功能。

入门条件

.NET Core/ASP.NET Core 有一定基础了解,还未接触的可先看 【ASP.NET Core 基础】

2.1 创建 Web 项目

环境要求

使用 Furion 之前先确保安装了最新的 .NET 5 SDK 并升级 Visual Studio 2019 至最新版。

2.1.1 创建 ASP.NET Core Web 应用程序

  • 打开 Visual Studio 2019 并创建 Web 项目
  • 配置项目名称
  • 选择 WebAPI 项目
特别注意

Furion 已经内置了 Swagger 规范化库,所以创建时无需勾选 Enable OpenAPI support 选项。否则提示版本不一致产生冲突。

2.2 添加 Furion 依赖包

2.3 Furion 基本配置

2.3.1 Program.cs 添加 Inject()

using Microsoft.AspNetCore.Hosting;using Microsoft.Extensions.Hosting;namespace FurionStart{    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                    .Inject()   // 添加这一行                    .UseStartup<Startup>();                });    }}

2.3.2 在 Startup.cs 中添加两个 Inject()

using Microsoft.AspNetCore.Builder;using Microsoft.AspNetCore.Hosting;using Microsoft.Extensions.Configuration;using Microsoft.Extensions.DependencyInjection;using Microsoft.Extensions.Hosting;namespace FurionStart{    public class Startup    {        public Startup(IConfiguration configuration)        {            Configuration = configuration;        }        public IConfiguration Configuration { get; }        public void ConfigureServices(IServiceCollection services)        {            services.AddControllers().AddInject();  // 添加 AddInject();        }        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)        {            if (env.IsDevelopment())            {                app.UseDeveloperExceptionPage();            }            app.UseHttpsRedirection();            app.UseRouting();            app.UseAuthorization();            // 添加这一行,如果是 MVC和API共存项目,无需添加 string.Empty            app.UseInject(string.Empty);            app.UseEndpoints(endpoints =>            {                endpoints.MapControllers();            });        }    }}
小提醒

如果 app.UseInject() 不输入参数,则默认地址为 /api,如果输入 string.Empty 则为 / 目录。如果输入任意字符串,则为 /任意字符串 目录。

2.4 启动浏览器

启动浏览器查看效果。

小知识

默认情况下,通过 Visual Studio 2019 创建的项目会自动配置了启动页,如果使用 F5 运行,可能不会自动打开首页,这时候我们只需要配置 launchSettings.jsonlaunchUrl 即可:

演练场