Umbraco 6 - как правильно читать настройки центральной конфигурации?

Я пытаюсь создать сайт с помощью Umbraco 6, для чего мне нужно иметь возможность ограничить доступ к некоторому медиа-контенту.

Подход, к которому я пришел (после многих проб и ошибок), заключается в создании пользовательской замены MediaFileSystem, в которой я буду публиковать медиа-контент ограниченных типов в другом, вне контекста, каталоге. Оттуда я надеюсь получить их с помощью проверенного контроллера разрешений.

Если бы это был обычный сайт MVC, это была бы тривиальная задача (действительно, я подозреваю, что использование Umbraco в этом случае добавило дней времени на разработку, поскольку я пытаюсь понять его сложности и трачу часы на то, чтобы блуждать по документации, которая в значительной степени устарело), ​​но я не могу понять, как я должен читать свойства конфигурации из umbracoSettings.config в моем собственном коде. Библиотека Umbraco.Core.Configuration включает класс UmbracoSettings для хранения данных, но он является внутренним, и я не могу найти какой-либо доступной для разработчиков альтернативы.

Есть ли «правильный» способ пройти через Umbraco и как-то получить эти данные? Если нет, нужно ли мне запускать собственный считыватель конфигурации, чтобы получать любые данные, которые мне нужны, из этих файлов, адаптировать код из существующей исходной библиотеки, несмотря на то, что он, по-видимому, устарел?


person glenatron    schedule 15.12.2013    source источник
comment
Возможно, проверьте, подходит ли вам пакет Media Protect: soetemansoftware.nl/media-protect< /а>   -  person sebastiaan    schedule 16.12.2013
comment
Я видел это, но я не уверен, что он будет делать то, что я ищу. Возможно, мне придется его использовать — это, безусловно, будет дешевле, чем разбираться в документации, — но я не видел способа вписать его в общую структуру, с которой я работал. Однако может быть проще переработать эту структуру.   -  person glenatron    schedule 16.12.2013
comment
Обязательно отправьте Ричарду электронное письмо с вашими требованиями, он быстро свяжется с вами и сообщит, возможно ли это. Он работал над этим в течение многих лет, поэтому, вероятно, это сэкономит вам много времени, если вы не будете дублировать то, что он уже решил.   -  person sebastiaan    schedule 16.12.2013
comment
Я не думаю, что это будет тривиальной задачей в MVC. А если у вас есть простое решение, его легко портировать на umbraco.   -  person dampee    schedule 02.02.2014


Ответы (1)


Это все немного запутанно с пространствами имен в v6 - но если вы ссылаетесь на umbraco.dll, вы можете прочитать настройки из класса UmbracoSettings

например umbraco.UmbracoSettings.UmbracoLibraryCacheDuration дает значение, сохраненное для UmbracoLibraryCacheDuration в файле UmbracoSettings.config.

person Carl Sargunar    schedule 16.04.2014
comment
В версии 7 это упрощается за счет включения настроек в правильное пространство имен, но в версии 6 они находятся в старом пространстве имен umbraco.UmbracoSettings, а не в пространстве имен Umbraco.Core. - person Carl Sargunar; 16.04.2014