Использование специфичной для веб-сайта строки подключения с библиотекой DLL

StackOverflow https://stackoverflow.com/questions/602910

  •  03-07-2019
  •  | 
  •  

Вопрос

Установка:

У меня есть библиотека DLL, которая использует строку подключения для подключения к базе данных SQL.Когда я добавляю библиотеку DLL на свой веб-сайт, я должен добавить строку подключения в свой web.config, чтобы моя библиотека DLL функционировала должным образом (это сделано специально).Как только я добавлю его в web.config, все будет работать нормально (как и ожидалось).

В Чем Проблема:

Проблема начинается, когда я хочу переместить строку подключения на свой веб-сайт ASP.NET Настройки приложения, найденные в IIS> Веб-сайт по умолчанию> Свойства> ASP.NET вкладка> Изменить глобальную конфигурацию...> Менеджер строк подключения

Если я удалю его из своего web.config и помещу туда, моя библиотека DLL не сможет работать.Если я использую connectionstring где-либо еще на моем веб-сайте (а не из библиотеки DLL) Я могу получить доступ к базе данных с помощью этого метода, но по какой-то причине моя библиотека DLL может получить к ней доступ, только если она находится в web.config.

Этот Вопрос:

Как я могу заставить свою библиотеку DLL использовать строку подключения, указанную в ASP.NET Configuration Settings Диспетчер строк подключения вместо web.config?

Это было полезно?

Решение

Вы должны искать раздел из общих ASP.Net настроек конфигурации, которые можно получить через класс WebConfigurationManager, вместо того, чтобы искать строку подключения через ConfigurationManager.ConnectionStrings .

    // Get the connectionStrings section.
ConnectionStringsSection connectionStringsSection =
    WebConfigurationManager.GetSection("connectionStrings")
    as ConnectionStringsSection;

// Get the connectionStrings key,value pairs collection.
ConnectionStringSettingsCollection connectionStrings =
    connectionStringsSection.ConnectionStrings;

// Get the collection enumerator.
IEnumerator connectionStringsEnum =
    connectionStrings.GetEnumerator();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top