Как получить доступ к appSettings. json, который принадлежит проекту. NET Core Web API из проекта библиотеки классов. NET Framework в том же решении
Как мы знаем, ASP. NET Использование ядра различные настройки конфигурации . Чтобы выполнить указанное выше требование, вы можете попробовать следующие подходы:
Подход 1: измените метод (ы) библиотеки классов, чтобы принять дополнительный параметр, затем вы можете прочитать ConnectionString
et c из Web.config или appsettings. json и передать его как параметр при вызове метода в соответствующих приложениях.
Подход 2: изменить и расширить вашу библиотеку классов, чтобы она работала с ASP. NET параметрами конфигурации ядра, как показано ниже.
Imports System.Configuration
Imports Microsoft.Extensions.Configuration
Public Class DbGeneric
Private ReadOnly _configuration As IConfiguration
Public Sub New(ByVal configuration As IConfiguration)
_configuration = configuration
End Sub
Public Sub New()
End Sub
Public Function GetAll() As String
Dim connectionString As String = ConfigurationManager.ConnectionStrings("DefaultConnection").ConnectionString
Return connectionString
End Function
Public Function GetAllForCore() As String
Dim connectionString As String = _configuration("ConnectionStrings:DefaultConnection").ToString()
Return connectionString
End Function
End Class
В ASP. NET app
var dbGeneric = new MyClassLibraryVB.DbGeneric();
var con_str = dbGeneric.GetAll();
In ASP. NET Базовое приложение
public class ValuesController : ControllerBase
{
private readonly IConfiguration Configuration;
public ValuesController(IConfiguration configuration)
{
Configuration = configuration;
}
public IActionResult GetAll()
{
var dbGeneric = new MyClassLibraryVB.DbGeneric(Configuration);
var con_str = dbGeneric.GetAllForCore();
ConnectionStrings в настройках приложения. json
"ConnectionStrings": {
"DefaultConnection": "{conection_string_for_netcore}"
}
Результат теста