在没有启动文件的 ASP.NET 核心库项目中,我应该将连接字符串放在哪里?
Where do I place the connection string in an ASP.NET Core library project that has no startup file?
我有 asp.net 个核心库项目。
我想给它添加连接字符串。我这里没有启动 class。我需要在哪里放置连接字符串以及如何获取它?
在 dotnet 核心中,您可以使用 json 文件管理配置,这是配置应用程序的多种方式之一。
根据 dotnet core configuration documentation 你可以简单地做(从 link 参考复制)
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
编辑:正如评论员在您的 post 中提到的那样,不要将连接字符串和配置文件添加到您的库代码中 - 从您的控制台应用程序或 Web 应用程序执行此操作!
dotnet 核心的其他配置形式包括 user secrets, environment variables,可能还有 XML 文件或其他形式的存储,如评论中所指出的
我有 asp.net 个核心库项目。
我想给它添加连接字符串。我这里没有启动 class。我需要在哪里放置连接字符串以及如何获取它?
在 dotnet 核心中,您可以使用 json 文件管理配置,这是配置应用程序的多种方式之一。
根据 dotnet core configuration documentation 你可以简单地做(从 link 参考复制)
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
编辑:正如评论员在您的 post 中提到的那样,不要将连接字符串和配置文件添加到您的库代码中 - 从您的控制台应用程序或 Web 应用程序执行此操作!
dotnet 核心的其他配置形式包括 user secrets, environment variables,可能还有 XML 文件或其他形式的存储,如评论中所指出的