IOrganizationService
- это interface
, который определяет самые основные методы, необходимые для доступа ко всем функциям Dynamics.Существует ряд общих преимуществ в использовании интерфейсов.
IOrganizationService
существует с CRM 2011, тогда как CrmServiceClient
была введена в CRM 2016. AПростая причина использования IOrganizationService
заключается в том, что он существует намного дольше и присутствует в существующих базах кода.
CrmServiceClient
реализует IOrganizationService
, а также предоставляет ряд других методов, например, аутентификацию с помощью CRM.До появления CrmServiceClient
мы использовали CrmConnection
для аутентификации в CRM.Когда нам пришлось перейти с CrmConnection
на CrmServiceClient
, нам нужно было только изменить на CrmServiceClient
, извлечь IOrganizationService
, а остальная часть кода осталась прежней.
Программирование на IOrganizationService
интерфейс делает ваш код гораздо более переносимым и многократно используемым.Например;когда вы не знаете, что ваш сервисный объект будет создан.
IOrganizationService orgService = IOrganizationService)conn.OrganizationWebProxyClient ?? conn.OrganizationServiceProxy;
В целях тестирования, когда вы хотите смоделировать IOrganizationService
с новым классом MockOrganizationService
.
КогдаВы хотите переместить код между внешним приложением и плагином.В плагине CrmServiceClient
не предоставляется.