07.07.2015, 18:02 | #1 |
Участник
|
Инстанциирование плагинов в CRM 2013
Есть много плагинов, работающих с внешним хранилищем данных.
В плагины нужно как-то передавать настройки подключения к этому хранилищу. Secure/Unsecure configuration для хранения настроек не подходит, так как плагинов реально много и перенос Dev->Test->PreProd->Prod превратиться в Ад. Хранить настройки в CRM в сущности и запрашивать их каждый раз при выполнении плагина как то не очень хочется из соображений производительности (лишний запрос в систему). Недолгие эксперименты показали, что экземпляр класса плагина создается один раз, а потом только вызывается метод Execute. В связи с этим появилась идея добавить в плагин приватных полей и запрашивать настройки из сущности CRM один раз, а потом проверять не пустые ли они и если нет, то использовать их. Но есть сомнения. действительно ли экземпляр класса плагина во всех случаях создается один раз и потом висит в памяти. Стоит ли вообще использовать такой подход?.. |
|
08.07.2015, 17:36 | #2 |
Moderator
|
Единственный известный мне официальный источник по этой теме вот: http://blogs.msdn.com/b/crm/archive/...r-crm-4-0.aspx. Насколько я могу судить, этот функционал не менялся с 4й версии.
Так же, хорошо известно, что изменение Secure/Unsecure конфигурации приводит к разрушению инстанса плагина - можно использовать для сброса кэша. Так же, обращаю ваше внимание, что в CRM 2013/2015 появилась утиллита ConfigurationMigration. Она как раз предназначена для того, чтобы переносить служебные записи в которых вы храните настройки. Ее можно прикрутить к сборщику VS чтобы можно было автоматизировать сборку с тестовыми-боевыми параметрами.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
|