Как загрузить каталог модулей из базы данных в Prism? - PullRequest
1 голос
/ 19 марта 2010

Я использую Prism в своем приложении WPF и до сих пор загружал модули через var moduleCatalog = new ConfigurationModuleCatalog();. Я хотел бы получить каталог модулей из базы данных. Документация Prism указывает на то, что это возможно, но не содержит никаких подробностей.

Кто-нибудь делал это и может дать некоторые рекомендации?

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

Вы можете написать собственную реализацию ModuleCatalog, внедрив IModuleCatalog. Ваша реализация может затем заполнить каталог любым способом, который вы определите.

Вы также можете использовать перегрузку CreateFromXAML , которая принимает Stream, и реализовать веб-сервис, который доставляет ModuleCatalog в XAML по HTTP.

1 голос
/ 19 марта 2010

Это теоретическая возможность, но ее нет ни в одном из примеров, которые я видел.

По сути, вы должны либо зашифровать библиотеки DLL / файлов в базе данных base64, либо заархивировать их и сохранить в виде одного большого двоичного объекта. Вы загружаете их в свой загрузчик и копируете их локально (во временный каталог), а затем позволяете им нормально загружаться из файловой системы с использованием DirectoryModuleCatalog. Если вы хотите, чтобы это было немного элегантнее, вы можете написать свой собственный ModuleCatalog, который инкапсулирует эту логику.

Это очень похоже на то, что я делаю ... Я на самом деле загружаю zip-файл всех модулей с веб-сайта во время запуска, разархивирую их и загружаю с помощью DirectoryModuleCatalog.

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