(MEF) Должна ли композиция происходить при запуске? - PullRequest
0 голосов
/ 29 февраля 2012

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

Я выбрал MEF, потому что он выглядел (и до сих пор выглядит) как идеальный ключ к моей блокировке, но меня постоянно смущает тот факт, что все происходит при запуске приложения. У меня уже есть другой вопрос, несколько связанный с этой проблемой ( расположен здесь ), но это для конкретной проблемы. Моя проблема заключается в том, что когда пользователь входит в систему, мне нужно, чтобы все мои композиции происходили после того, как я пошел в базу данных, чтобы получить все плагины (файлы .dll), которые пользователь установил для своей учетной записи.

Итак, мой вопрос таков: как это связано с MEF, обязательно ли составление происходит при запуске, или я могу сделать так, чтобы вся моя композиция происходила после входа пользователя в систему? Это очень важно для этого проекта. И прежде чем его спросят, весь сайт заблокирован аутентификацией. Единственное, что увидит незарегистрированный пользователь - это страница входа и ничего более. Таким образом, сайт может иметь совершенно другой вид (и доступную функциональность) в зависимости от пользователя, который вошел в систему.

Или я просто слишком много спрашиваю, технически говоря?

1 Ответ

1 голос
/ 29 февраля 2012

я бы сказал, что композиция должна произойти один раз. и если у вас есть вся информация после успешного входа в систему, то сделайте свою композицию после входа в систему. Я тоже так поступаю в своих проектах (Войти -> MEF -> Показать приложение)

...