Web.Config в базе данных, возможно? - PullRequest
1 голос
/ 20 октября 2011

Итак, на моем сайте MVC 3 у меня есть путь ~/_Content/*, сопоставленный с маршрутом MVC для обслуживания jpgs, gif-файлов из базы данных, но также у меня есть пользовательский VirtualPathProvider, который выбирает эти URL-адреса и пересекает структуру базы данных, чтобы поднимите страницы Razor (и ASPX, если необходимо).

У меня все это прекрасно работает - после дня, когда я пытался выяснить, как заставить SqlCacheDependency работать с запросами структуры сущностей (совершенно другая история), - теперь я могу запрашивать страницы Razor, и они компилируются и выполняются. ; и они будут восстановлены, когда основной файл изменится в базе данных.

Следующим шагом будет добавление дополнительных ViewLocationFormats (и др.) В мои ViewEngines для поддержки поиска представлений в базе данных.

Но теперь у меня есть другая проблема: эти страницы должны наследоваться от WebViewPage или WebViewPage<TModel>, чтобы работать с обычной страницей макета сайта.

Хотя я, очевидно, могу использовать @inherits Я бы предпочел, чтобы это «работало», поэтому логично было бы встроить web.config в иерархию контента, которая имеет нечто очень похожее на то, что находится в стандартная папка ~/Views.

Дело в том, что при попытке этого Asp.Net не обращает на это никакого внимания - предположительно потому, что ищет только файлы web.config, которые физически находятся на диске.

Я могу использовать директиву <location path="_content" ... в главном web.config сайта - но в идеале я хотел бы иметь возможность иметь детальный контроль и со стороны базы данных контента.

Как заставить Asp.Net подобрать и, в идеале, автоматически обнаружить эти управляемые контентом web.configs?

1 Ответ

0 голосов
/ 26 октября 2011

, вероятно, вы можете сделать очень мало с этим, смотрите вопросы и ответы, связанные ниже, мой основной пункт будет то, что если у вас нет обычного файла web.config в папке веб-приложения, откуда вы получаете строку подключения, необходимую получить доступ к базе данных? В любом случае требуется одна и стандартная точка входа для настроек, или, если вы не настроите все, как, например, с помощью других текстовых файлов или переменных среды, вы не будете знать, как связаться с БД и подключиться к ней.

см. Здесь amyway:

Использование ConfigurationManager для загрузки конфигурации из произвольного местоположения

Загрузка другого файла web.config во время выполнения для ASP.NET

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