Dynamics crm 2011 如何在插件上创建或获取OrganizationServiceProxy实例

Dynamics crm 2011 如何在插件上创建或获取OrganizationServiceProxy实例,dynamics-crm-2011,dynamics-crm,microsoft-dynamics,Dynamics Crm 2011,Dynamics Crm,Microsoft Dynamics,有没有办法在插件上创建OrganizationServiceProxy实例? 我想执行EnableProxyTypes方法,将不同于插件程序集的程序集作为EnableProxyTypes方法的参数来传递。 因为我想有一个汇编文件,它有一个早期绑定的类,并由一些插件和程序共享 public void Execute(IServiceProvider serviceProvider) { var context = (IPluginExecutionContext)

有没有办法在插件上创建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.
    }

我建议阅读这篇文章:

特别是下面的代码片段

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

...

using (var crm = new XrmServiceContext(service))

我认为你不应该这样做。IOrganizationService在插件中应该足以完成任何活动,以及在构建插件时必须添加作为插件引用的代理类。