2016-08-07 2 views
1

Я пытаюсь использовать замедленное воспламенение с SQL Server, чтение строки соединения с appsettings.json файл. Это не работает. Только когда я предоставляю строку подключения к методу UseSqlServerStorage, он работает.Загрузка конфигурации замедленное воспламенение от appsettings.json в веб-приложения ASP.NET CORE

Вот appsettings.json:

{ 
    "ConnectionStrings": { 
    "HangfireDemo": "Data Source=VSQL64;Initial Catalog=HangfireDemo;Integrated Security=SSPI;" 
    }, 
    "Logging": { 
    "IncludeScopes": false, 
    "LogLevel": { 
     "Default": "Debug", 
     "System": "Information", 
     "Microsoft": "Information" 
    } 
    } 
} 

А вот линия, которая настраивает замедленное воспламенение в Startup.ConfigureServices:

services.AddHangfire(configuration => configuration.UseSqlServerStorage("Data Source=VSQL64;Initial Catalog=HangfireDemo;Integrated Security=SSPI;")); 

Если я пишу "HangfireDemo" в UseSqlServerStorage метод, он не работает. В этом методе работает только полная строка соединения.
Как я могу указать только имя строки подключения?

ответ

4

вы должны быть в состоянии сделать это что-то вроде этого:

public Startup(IHostingEnvironment env) 
{ 
    var builder = new ConfigurationBuilder() 
     .SetBasePath(env.ContentRootPath) 
     .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) 
     .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true); 


    builder.AddEnvironmentVariables(); 
    Configuration = builder.Build(); 

} 


public IConfigurationRoot Configuration { get; } 

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddHangfire(configuration => 
    configuration.UseSqlServerStorage(Configuration.GetConnectionString("HangfireDemo")) 
    ); 

} 
+0

Works! Отлично, большое спасибо. – ashilon