Как создать или получить экземпляр OrganizationServiceProxy в плагине

Есть ли способ создать экземпляр OrganizationServiceProxy в подключаемом модуле?
Я хочу выполнить метод EnableProxyTypes, передав сборку, отличную от сборки подключаемого модуля, в качестве аргумента метода EnableProxyTypes.
Поскольку я хочу иметь файл сборки, который имеет ранний связанный класс и используется некоторыми плагинами и программами.

    public void Execute(IServiceProvider serviceProvider)
    {
        var context = (IPluginExecutionContext) serviceProvider.GetService(typeof    (IPluginExecutionContext));
        var factory = (IOrganizationServiceFactory) serviceProvider.GetService(typeof (IOrganizationServiceFactory));
        var service = factory.CreateOrganizationService(context.UserId);

        var proxy = (OrganizationServiceProxy)service; //this doesn't work. an error occurs.
    }

person Nigiri    schedule 04.04.2013    source источник


Ответы (1)


Я бы посоветовал прочитать эту статью:

Пошаговое руководство. Создание подключаемого модуля для подключения к Microsoft Dynamics CRM с помощью расширений разработчика

В частности, следующие фрагменты.

IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);

...

using (var crm = new XrmServiceContext(service))
person James Wood    schedule 04.04.2013