如何在asp.net核心Web Api中写入连接字符串?

Adm*_*min 3 asp.net-web-api

我想在.net核心Web API中创建数据库连接,该如何编写连接字符串。在App设置文件中,如何编写连接字符串。

Adm*_*min 5

我得到了答案

"Data": {
  "DefaultConnection": {
    "ConnectionString": "Server=(localdb)\\mssqllocaldb;Database=aspnet5-ConfigurationSample-ad90971f-6620-4bc1-ad28-650c59478cc1;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}
Run Code Online (Sandbox Code Playgroud)

这是链接 http://aspnetmonsters.com/2016/01/json-config-in-aspnetcoremvc/


Dan*_*hez 5

WEB API 有一个配置文件'appsettings.json',在这个文件中你可以放置你需要的所有配置或变量,例如像这样:

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*",
  //->
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Initial Catalog=dbname;MultipleActiveResultSets=true;User ID=sa;Password=mypass"
  },
  "Jwt": {
    "SecretKey": "myjwtpass"
  },
  "EmailConfiguration": {
    "SmtpServer": "mysmtpserver",
    "SmtpPort": 2525,
    "SmtpUsername": "myusername",
    "SmtpPassword": "mypassword"
  }
  //<-
}
Run Code Online (Sandbox Code Playgroud)

为了获取配置的值,我们展示了以下示例:

在构造函数中从注入中获取:

public IConfiguration Configuration { get; }
public MyClassName(IConfiguration configuration)
{
    Configuration = configuration;
}
Run Code Online (Sandbox Code Playgroud)

在某些方法中:

public void SomeMethod()
{
     var jwtPass = Configuration["Jwt:SecretKey"];
     var connStr = Configuration["ConnectionStrings:DefaultConnection"];
}
Run Code Online (Sandbox Code Playgroud)