2017-02-02 3 views
3

Ich habe asp.net Kernbibliothek Projekt. Ich möchte eine Verbindungszeichenfolge darin einfügen. Ich habe keine Startup-Klasse. Wo muss ich die Verbindungszeichenfolge platzieren und wie hole ich sie?Verbindungszeichenfolge in asp.net Kernbibliothek Projekt

Bitte vorschlagen.

+0

nicht Verbindungszeichenfolgen zu Bibliotheken hinzufügen wies darauf hin, Sie !!! Verbindungszeichenfolgen werden immer zur Konfiguration der Anwendung hinzugefügt, niemals zur Bibliothek. Das wäre so, als würde man sein Passwort in einer Klassenbibliothek speichern, niemand könnte es ändern und jeder, der die Bibliothek bekommt, könnte es lesen ... – Tseng

Antwort

6

Im dotnet-Core können Sie die Konfiguration mithilfe von JSON-Dateien verwalten. Dies ist eine von vielen Möglichkeiten, Ihre Anwendung zu konfigurieren.

Nach dem dotnet core configuration documentation Sie einfach tun können (von Link Referenz kopiert)

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"]}"); 
    } 
} 

Dann in Ihrer appsettings.json Datei können Sie hinzufügen:

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

und greifen Sie in Code Configuration.GetConnectionString("BloggingDatabase")

Ich kann auch empfehlen, die dotnet core documentation regarding connection strings

zu lesen

EDIT: Wie die Kommentatoren in Ihrem Beitrag erwähnen, fügen Sie keine Verbindungszeichenfolgen und Konfigurationsdateien zu Ihrem Bibliothekscode hinzu - tun Sie dies von Ihrer Konsolenanwendung oder der Webanwendung!

Weitere Formen der Konfiguration für Dotnet Kern user secrets, environment variables und vielleicht XML-Dateien oder andere Formen der Lagerung, wie in den Kommentaren

+0

Das ist nicht ganz richtig. Mit dem Konfigurationssystem können Sie Einstellungen an verschiedenen Orten vornehmen, z. JSON-Dateien, XML-Dateien, Umgebungsvariablen, Benutzergeheimnisse .. – juunas

+1

@juunas du hast absolut Recht, danke für das Aufzeigen. Ich habe den Beitrag aktualisiert, um in dieser Angelegenheit klarer zu werden. – nover

Verwandte Themen