ASP.NET: внешний настраиваемый файл конфигурации в виртуальном каталоге - как?

Я знаю, что есть как минимум два подхода к использованию файла web.config:

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

Какой другой метод я могу использовать для помещения моих ресурсов конфигурации в виртуальный каталог?

Примечание: я хочу сделать это таким образом, потому что у меня есть несколько экземпляров моего веб-приложения на одном сервере (и на многих серверах). Чтобы развертывание было простым и чистым, я хочу сохранить один каталог для всех файлов (aspx, ascx, images, css, js и т. д.) И указывать на него веб-приложения в IIS для разных клиентов (= домены, https и т. д.) единый каталог. В каждом веб-сайте IIS у меня был бы виртуальный каталог с именем «custom», который указывает на разные папки для каждого веб-сайта.

Обновлять: Я хотел бы отметить, что этот виртуальный каталог «custom» не подходит для хранения унаследованного web.config - этот web.config будет действителен только для настраиваемой папки, которая не содержит файлов aspx / ascx.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
3 998
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Виртуальные каталоги можно настроить как приложения, и вы можете просто поместить туда другой файл web.config.

Он унаследует любые изменения из родительской конфигурации, и вы можете добавлять в нее собственные настройки.

К сожалению, это не вариант, потому что приложение не находится в «пользовательском» виртуальном каталоге. Я обновлю свой вопрос, чтобы прояснить этот момент.

splattne 08.11.2008 20:16

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

Ответ принят как подходящий

У меня такой же сценарий, и после прочтения вашего сообщения я понял, что asp.net не позволит вам сделать это по разным причинам безопасности.

Поэтому я обратился к ОС, чтобы найти эквивалент функции программной ссылки Linux, которая, в свою очередь, привела меня к Утилита Junction от sysinternals. Это может создать каталог, который на самом деле является любым другим каталогом на этом томе, и asp.net не может отличить, и поэтому с радостью загружает разделы конфигурации, которые на самом деле не находятся в подкаталоге вашего веб-сайта. Работает для меня :)

Другие вопросы по теме