Как «передать данные конфигурации в ваш плагин» и какова же цель?Любой сценарий в реальном времени с примером? - PullRequest
1 голос
/ 31 мая 2019

Какая польза от передачи данных конфигурации в плагин и как это сделать?

https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/write-plug-in

Передача данных конфигурации в ваш плагин Когда вы регистрируете плагин, у вас есть возможность передавать ему данные конфигурации. Данные конфигурации позволяют вам определить, как должен вести себя конкретный экземпляр зарегистрированного плагина. Эта информация передается в виде строковых данных параметрам в конструкторе вашего класса. Есть два параметра: небезопасный и безопасный. Используйте первый незащищенный параметр для данных, которые вы не возражаете, если люди могут видеть. Используйте второй безопасный параметр для конфиденциальных данных.

В следующем коде показаны три возможных подписи для класса подключаемого модуля с именем SamplePlugin.

public SamplePlugin()  
public SamplePlugin(string unsecure)  
public SamplePlugin(string unsecure, string secure)

Ответы [ 2 ]

3 голосов
/ 31 мая 2019

Какая польза от передачи данных конфигурации в плагин и как это сделать?

Иногда нам может понадобиться сделать элементы конфигурации, такие как строки подключения или настройки журнала в файлах разработки приложений, web.config или app.config. Точно так же вы можете пропустить это с шага плагина, когда вы регистрируетесь с помощью инструмента регистрации плагина.

enter image description here

Самое большое различие, которое вы заметили, упомянутое между этими двумя настройками, заключается в том, что безопасная конфигурация доступна для просмотра только администраторам CRM, а незащищенная конфигурация доступна для просмотра любому пользователю CRM. Однако есть еще одно важное отличие: небезопасная конфигурация автоматически перемещается между средами с вашими решениями CRM. Это означает, что даже настройка, которую вы могли бы счесть приемлемой, чтобы позволить любому пользователю CRM читать, например, URL-адрес веб-сайта или настройки, чтобы включить более подробное ведение журнала трассировки в среде разработки, может быть более подходящей в безопасной конфигурации, если вы хотите, чтобы она отличалась. между средами. В противном случае вам придется беспокоиться о том, чтобы переопределять небезопасный параметр конфигурации в рабочей среде значением, имеющимся в вашей среде разработки, каждый раз, когда вы импортируете решение, содержащее шаг плагина.

Какой-нибудь сценарий реального времени с примером?

  1. Учетные данные веб-службы (защищенные)
  2. URL-адрес веб-сайта, который отличается в разных средах (безопасный)
  3. Записывать настройки, которые вы не хотите перемещать с помощью решения CRM (безопасный)
  4. Строка шаблона, которую вы хотите переместить с помощью решения CRM (небезопасно)
  5. Константы, которые вы хотите переместить с помощью решения, такого как «MaxRetries» или «NumberOfDaysToFollowUp» (небезопасное)

Ссылка

0 голосов
/ 31 мая 2019

Добавление к ответу Аруна.Данные, которые передаются, устанавливаются представлением PluginRegistrationTool.Вы можете загрузить его с NuGet , но я думаю, что загрузить его из Xrm.Tools в виде zip-файла и получить доступ к нему там также проще.

Я также предлагаюопределяя только один конструктор со значениями NULL по умолчанию:

public SamplePlugin(string unsecure = null, string secure = null) {}

И если вы хотите сойти с ума, проверьте мой плагин Visual Studio Accelerator для XrmToolBox , чтобы добавить правильные ссылки SDK,и, возможно, несколько примеров плагинов с юнит-тестами менее чем за 2 минуты.

...