Загрузка другого файла web.config во время выполнения для ASP.NET - PullRequest
0 голосов
/ 17 июля 2009

У меня есть веб-приложение, которое я хочу использовать для нескольких сфер бизнеса. Я не хочу иметь несколько экземпляров кода веб-приложения на веб-сервере.

В качестве примера: у меня // MyWebSite / Virtual_Directory_1 ссылается на c: \ Inetpub \ wwwroot \ MyWebApp, указывающий на Database_A Я хочу настроить другой виртуальный каталог следующим образом: // MyWebSite / Virtual_Directory_2 ссылается на c: \ Inetpub \ wwwroot \ MyWebApp, указывающий на Database_B.

Я думал об этом, имея отдельные файлы web.config, но я не уверен, как на самом деле это сделать.

Любая помощь будет оценена.

Спасибо Параг

Ответы [ 2 ]

0 голосов
/ 17 июля 2009

Один из способов сделать это, я думаю, состоит в том, чтобы иметь общий файл web.config и затем иметь несколько строк подключения в этом файле конфигурации, которые соответствуют имени виртуального каталога.

<connectionStrings>
    <add name="VirtualDir1" connectionString="data source=BLAHBLAH" />
    <add name="VirtualDir2" connectionString="data source=BLAHBLAH" />
</connectionStrings>

При получении строки подключения просто указывайте ссылку:

ConfigurationManager.ConnectionStrings(Request.ApplicationPath).ConnectionString

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

0 голосов
/ 17 июля 2009

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

У вас также может быть файл web.config для каждого подкаталога в вашем веб-приложении, и каждый файл может переопределять свои родительские настройки web.config (не каждая вещь может быть переопределена).

Чтобы создать виртуальный каталог в диалоговом окне запуска, введите inetmgr ... Откроется диспетчер IIS. Щелкните правой кнопкой мыши на веб-сайте по умолчанию, если на клиентской ОС, выберите «Новый», а затем «Виртуальный каталог». Мастер настройки виртуального каталога появится. Следуйте простым шагам, которые он может предложить, и в итоге вы создадите 2 виртуальных каталога для одного исходного каталога.

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

Посмотрите статью по этому адресу :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...