如何在.NET Core中读取连接字符串?
我只想从配置文件中读取连接字符串,为此向我的项目中添加一个名称为“ appsettings.json”的文件,并在其上添加以下内容:
{"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-
WebApplica71d622;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
在ASP.NET上,我使用了以下方法:
var temp=ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
现在如何在C#中读取“ DefaultConnection”并将其存储在.NET Core中的字符串变量中?
回答:
您可以使用GetConnectionString扩展方法执行此操作:
string conString = Microsoft .Extensions
.Configuration
.ConfigurationExtensions
.GetConnectionString(this.Configuration, "DefaultConnection");
System.Console.WriteLine(conString);
或具有DI的结构化类:
public class SmtpConfig{
public string Server { get; set; }
public string User { get; set; }
public string Pass { get; set; }
public int Port { get; set; }
}
启动:
public IConfigurationRoot Configuration { get; }// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// http://developer.telerik.com/featured/new-configuration-model-asp-net-core/
// services.Configure<SmtpConfig>(Configuration.GetSection("Smtp"));
Microsoft.Extensions.DependencyInjection.OptionsConfigurationServiceCollectionExtensions.Configure<SmtpConfig>(services, Configuration.GetSection("Smtp"));
然后在家庭控制器中:
public class HomeController : Controller{
public SmtpConfig SmtpConfig { get; }
public HomeController(Microsoft.Extensions.Options.IOptions<SmtpConfig> smtpConfig)
{
SmtpConfig = smtpConfig.Value;
} //Action Controller
public IActionResult Index()
{
System.Console.WriteLine(SmtpConfig);
return View();
}
在appsettings.json中具有以下内容:
"ConnectionStrings": {"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-WebApplica71d622;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Smtp": {
"Server": "0.0.0.1",
"User": "user@company.com",
"Pass": "123456789",
"Port": "25"
}
以上是 如何在.NET Core中读取连接字符串? 的全部内容, 来源链接: utcz.com/qa/431446.html