2017-02-02 3 views
3

у меня есть asp.net core библиотека проект. Я хочу добавить в него строку подключения. В этом нет класса запуска. Где мне нужно установить строку подключения и как ее получить?подключение строка in asp.net core библиотека проект

Просьба предложить.

+0

Не добавлять строки подключения к библиотекам !!! строки подключения всегда добавляются к конфигурации приложения, а не к библиотеке. Это было бы похоже на сохранение вашего пароля в библиотеке классов, никто не мог его изменить, и все, кто получает библиотеку, могли прочитать его ... – Tseng

ответ

6

В ядре dotnet вы можете управлять конфигурацией с помощью json-файлов, что является одним из многих способов настройки вашего приложения.

Согласно dotnet core configuration documentation вы можете просто сделать (копируется из ссылки ссылка)

using Microsoft.Extensions.Configuration; 
using System; 
using System.IO; 

// Add NuGet <package id="Microsoft.Extensions.Configuration" and 
// <package id="Microsoft.Extensions.Configuration.Json" 
// .NET Framework 4.x use the following path: 
//.SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), @"..\..")) 

public class Program 
{ 
    static public IConfigurationRoot Configuration { get; set; } 
    public static void Main(string[] args = null) 
    { 
     var builder = new ConfigurationBuilder() 
      .SetBasePath(Directory.GetCurrentDirectory()) 
      .AddJsonFile("appsettings.json"); 

     Configuration = builder.Build(); 

     Console.WriteLine($"option1 = {Configuration["option1"]}"); 
     Console.WriteLine($"option2 = {Configuration["option2"]}"); 
     Console.WriteLine(
      $"option1 = {Configuration["subsection:suboption1"]}"); 
    } 
} 

Затем в файле appsettings.json вы можете добавить:

{ 
    "ConnectionStrings": { 
     "BloggingDatabase": "Server=(localdb)\\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;" 
    }, 
} 

и доступ к нему в коде с помощью Configuration.GetConnectionString("BloggingDatabase")

Я также рекомендую также читаю dotnet core documentation regarding connection strings

EDIT: Как отмечают комментаторы на вашем посту, не добавляйте строки подключения и файлы конфигурации в свой код библиотеки - сделайте это из своего консольного приложения или веб-приложения!

Дополнительные формы конфигурации для ядра Dotnet включает user secrets, environment variables и, возможно, XML-файлы или другие формы хранения, как указано в комментариях

+0

Это не совсем так. Конфигурационная система позволяет устанавливать настройки в разных местах, например. Файлы JSON, файлы XML, переменные среды, секреты пользователей. – juunas

+1

@juunas, вы абсолютно правы, спасибо, что указали это. Я обновил сообщение, чтобы быть более четким в этом вопросе. – nover