2016-08-03 43 views
0

ASP.NET核心现在使用appsettings.json应用构成,我只是想从以下appsettings.json文件获取连接字符串:检索appsettings.json配置

{ 
    "Logging": { 
    "IncludeScopes": false, 
    "LogLevel": { 
     "Default": "Debug", 
     "System": "Information", 
     "Microsoft": "Information" 
    } 
    }, 
    "ConnectionStrings": { 
    "Default": "Server=localhost; Database=mydatabase; Trusted_Connection=True;User id=myuser;Password=mypass;Integrated Security=SSPI;" 
    } 
} 

这是唯一的价值我需要进入我的控制器。我真的需要为它创建一个类吗?

回答

3

不,你不必为它创建一个类。您只需使用IConfiguration即可访问ConnectionStrings。简单的用法:

public class Startup 
{ 
    private IConfiguration Configuration; 

    public Startup(IHostingEnvironment env) 
    { 
     var builder = new ConfigurationBuilder() 
      //...; 
     Configuration = builder.Build(); 

     // Get ConnectionString by name 
     var defaultConStr = Configuration.GetConnectionString("Default"); 
    } 
    // If you need to resolve IConfiguration in anywhere with dependency injection, below code is required 
    public void ConfigureServices(IServiceCollection services) 
    { 
     services.AddSingleton<IConfiguration>(Configuration); 
    } 

} 

更新评论

public class YourController : Controller 
{ 
    private readonly IConfiguration _config; 
    public YourController(IConfiguration config) 
    { 
     _config = config; 
    } 
} 
+0

谢谢,这让我知道如何访问从Startup.cs连接字符串,但是...我怎么会得到连接字符串从控制器或任何其他类? –

+0

@Mr_LinDowsMac只是使用构造函数注入。看到我的更新。 –

相关问题