SCSF / CAB - Модуль & Просмотр Загрузка Лучшие практики?

У меня есть команда, которая разрабатывает сложный пользовательский интерфейс для CAB/SCSF. Одним из элементов дизайна, который мы рассматриваем, является динамическая загрузка модулей CAB и, возможно, сами представления CAB. Использование SCSF/CAB "из коробки" автоматически загрузит все сборки модулей во время запуска. Время запуска нашего многофункционального клиентского приложения значительно и будет расти по мере добавления новых модулей.

Мне просто любопытно, смотрели ли другие люди на стандартные издержки процесса загрузки модуля CAB. Это все внутри загрузки CAB Views? Если да, кто-нибудь задумывался о разработке механизма загрузки "по требованию" для CAB Views, чтобы можно было минимизировать нагрузку на сборку модуля? Идея в том, что представление не должно быть загружено до тех пор, пока оно не понадобится в первый раз. И есть ли реальные преимущества в разработке механизма загрузки "по требованию" на уровне модулей?

Мысли о передовой практике будут высоко оценены...

(Обратите внимание, что этот вопрос первоначально появился на http://social.msdn.microsoft.com/Forums/en-US/modelingandtools/thread/dce936fe-45f9-420c-90ca-286a8d553e35, поэтому я скопировал и вставил вопрос, написанный Dan)

2 ответа

Мы широко используем CAB для нашего приложения, поскольку у нас очень сложный пользовательский интерфейс и, соответственно, сложная бизнес-логика. В нашем случае использование cab увеличивает накладные расходы из-за того, что инфраструктура настраивает не только представления, но и иерархию рабочих элементов, а также разводку между всеми компонентами пользовательского интерфейса. Но я считаю, что время не является значительным по сравнению со временем, требуемым для создания экземпляра и загрузки всех объектов и данных, необходимых для нашего приложения, хотя когда-нибудь нам потребуется тщательно проверить это предположение.

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

Насколько мне известно, загрузка модуля не занимает слишком много времени. У нас было два приложения уровня предприятия на SCSF, один из его исходных кодов составляет более 700 МБ! он довольно большой, и мы никогда не сталкивались с какими-либо проблемами при загрузке модуля. И пока представление не создано, оно не создается в памяти. информация о представлениях в модуле загружена, но не создана. Ваше утверждение немного сбивает с толку.

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

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