.NET5_静态文件读取+脚本参数

发布时间 2023-12-11 20:41:37作者: 它的眼角开过光

一、静态文件读取:

1、Nuget引入:Nuget引入Microsoft.Extensions.FileProviders System.IO

2、配置读取静态文件的中间件

            ////读取静态文件的中间件
            ////Nuget引入Microsoft.Extensions.FileProviders
            ////System.IO
            //app.UseStaticFiles();
            app.UseStaticFiles(new StaticFileOptions()
            {
                FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot"))  //执行文件下的wwwroot文件夹
            });

二、脚本参数:

1、可以在启动dll的脚本之后放上参数,格式:--port="45678"  --参数名称=参数值

2、通过构造函数注入IConfiguration

3、可以在控制器中通过IConfiguration[参数名称]

 

4、配置文件读取:

第一种:

通过IConfiguration索引取值;

如果遇到对象,数组,中间使用:分割,依次读取;

Json:

 startup.cs读取配置文件

 控制器读取文件:

 第二种:

1、定义一个和配置文件内容格式一致的类

    public class DbConnectionOptions
    {
        public string WriteConnection { get; set; }

        public List<string> ReadConnectionList { get; set; }
    }

2、在ConfigureServices配置services.Configure<DbconnectionOptions>(Confirguration.GetSection("ConnectionStrings"));

               public void ConfigureServices(IServiceCollection services)
        {    
            #region 读取配置文件成实体对象类型
            services.Configure<DbConnectionOptions>(Configuration.GetSection("ConnectionStrings"));
            #endregion
     
}

3、在使用时可以IOptions<DbconnectionOptions>options注入

        public FirstController(ILogger<FirstController> logger, IConfiguration configuration, IOptions<DbConnectionOptions> options)
        {
            _logger = logger;
            _Configuratin = configuration;
            _optionsCurrent = options.Value;
            _logger.LogWarning("FirstController被构造。。。");
        }

 

4、获取注入的Options.Value就是我们获取的配置文件的一个实体类型对象。

@model object

@{
    ViewData["Title"] = "Index";
}

<h3>
    @Model
</h3>