我是ASP的新手。NET Core RC2,我想知道如何获得一些配置设置,并将其应用到我的方法中。例如在myappsettings中。json
我有这个特定的设置
"ConnectionStrings": {
"DefaultConnection":
"Server=localhost;User Id=postgres;port=5432;Password=castro666;Database=dbname;"
}
在我的控制器中,每次我想查询数据库时,我都必须使用此设置
using (var conn =
new NpgsqlConnection(
"Server=localhost;User Id=postgres;port=5432;Password=castro666;Database=dbname;"))
{
conn.Open();
}
这里最明显的一点是,如果我想在配置中添加更多内容,我必须更改该方法的每个实例。我的问题是如何在appsettings中获取
这样我就可以这样做了DefaultConnection
。json
using (var conn =
new NpgsqlConnection(
ConfigurationManager["DefaultConnection"))
{
conn.Open();
}
ConfigurationManager。AppSettings
在中提供。NET Core 2.0,参考NuGet软件包系统。配置配置管理器
在ASP. NET Core中,有很多选项可以用来访问配置。如果你对访问DefaultConnection
感兴趣,你最好使用DI方法。为了确保您可以使用构造函数依赖注入,我们必须在我们的Startup.cs
中正确配置一些东西。
public IConfigurationRoot Configuration { get; }
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
现在,我们已经从构建器中读取了我们的配置JSON
,并将其分配给了我们的配置
实例。现在,我们需要将其配置为依赖项注入——因此,让我们先创建一个简单的POCO来保存连接字符串。
public class ConnectionStrings
{
public string DefaultConnection { get; set; }
}
我们正在实现“选项模式”,将强类型类绑定到配置段。现在,在ConfigureServices
中执行以下操作:
public void ConfigureServices(IServiceCollection services)
{
// Setup options with DI
services.AddOptions();
// Configure ConnectionStrings using config
services.Configure<ConnectionStrings>(Configuration);
}
现在这一切都准备好了,我们可以简单地要求类的构造函数承担操作
public class MyController : Controller
{
private readonly ConnectionStrings _connectionStrings;
public MyController(IOptions<ConnectionString> options)
{
_connectionStrings = options.Value;
}
public IActionResult Get()
{
// Use the _connectionStrings instance now...
using (var conn = new NpgsqlConnection(_connectionStrings.DefaultConnection))
{
conn.Open();
// Omitted for brevity...
}
}
}
这是我经常建议大家阅读的官方文件。
在 Laravel 中,大多数采用 .env 文件管理,深度配置都采用 config/*.php 配置。 在 ThinkSNS+ 这一现象并没有发生改变,我们也推崇使用 Laravel 方式进行管理配置,但是有时候我们往往需要后期配置, 但是后期配置不可能期望用户去修改配置文件。这很危险,用户大多都没有技术能力。 所以,在 ThinkSNS+ 在 Laravel 配置的基础上增加了一份更加灵活的配
Swoole框架提供了配置文件管理的功能。配置可以直接用数组的方式进行访问,底层会自动加载配置文件目录下的$key.php文件。配置文件必须在末尾return $array返回配置的信息。 使用方法 //在控制器中 $this->config['user']; //其他位置 Swoole::$php->config['user']; 设置配置文件路径 Swoole\Config::setPath
San CLI 的配置文件为san.config.js,该文件放在项目的根目录下,当执行 San CLI 命令时,San CLI 会自动读取san.config.js的内容,在项目创建后,首先需要修改san.config.js来配置文件打包等选项。San CLI UI 将配置的每一项转换为表单,同时将配置项的语义直观的展示在页面,无需查找文档,直接在San CLI UI中修改表单,保存后即可看到s
local settings 作为一个开源项目,我们在这方面做得并不是特别好——当然是有意如此的。不过,这里我们还是做一些简单的介绍。对于我们的项目来说,我们需要一些额外的配置,如我们的数据库中的DATABASES、DEFAULT_AUTHENTICATION_CLASSES、CORS_ORIGIN_ALLOW_ALL、SECRET_KEY应该在不同的环境中都有不同的配置。 我们可以一个创建loc
概述 应用的配置信息,一般通过环境变量来注入。这些配置的值,可以抽取出来,存放到ConfigMap里面。ConfigMap以Key-Value的形式来保存这些配置信息。 在部署应用的时候,可以通过引用ConfigMap的Key来设置环境变量,而不是直接赋值。这样可以集中管理配置信息,方便应用多次部署以及多个应用之间共享配置信息。
默认情况下,插件管理器会为您的插件管理动作做出信息反馈。您可以通过添加 --quiet 和 --silent 选项为 install 和 remove 命令控制反馈信息的级别。使用 --quiet 选项屏蔽除错误信息以外的日志输出。使用 --silent 选项屏蔽所有输出。 默认情况下,插件管理器安装插件不会超时。使用 --timeout 选项并添加一个时间来指定安装超时时间: 设定30秒安装超时