Dynamics crm CRM 2016 OrganizationServiceProxy.EnableProxyTypes似乎挂起

Dynamics crm CRM 2016 OrganizationServiceProxy.EnableProxyTypes似乎挂起,dynamics-crm,dynamics-crm-2016,Dynamics Crm,Dynamics Crm 2016,我们目前正在更改后端系统的体系结构,我们发现需要使用OrganizationServiceProxy.EnableProxyTypes方法启用代理类型,以便在工作流的CodeActivities中使用 var service = serviceFactory.CreateOrganizationService(context.UserId); if (service is OrganizationService) { tracingService.Trac

我们目前正在更改后端系统的体系结构,我们发现需要使用OrganizationServiceProxy.EnableProxyTypes方法启用代理类型,以便在工作流的CodeActivities中使用

    var service = serviceFactory.CreateOrganizationService(context.UserId);
    if (service is OrganizationService)
    {
        tracingService.Trace("Enabling proxy types");
        ((OrganizationServiceProxy)((OrganizationService)service).InnerService).EnableProxyTypes(assembly);
        tracingService.Trace("Proxy types enabled");
    }
然而,每当我包含这个方法调用时,它都会使工作流在最终失败之前运行得非常慢

    var service = serviceFactory.CreateOrganizationService(context.UserId);
    if (service is OrganizationService)
    {
        tracingService.Trace("Enabling proxy types");
        ((OrganizationServiceProxy)((OrganizationService)service).InnerService).EnableProxyTypes(assembly);
        tracingService.Trace("Proxy types enabled");
    }
下面是我们用来调用该方法的代码:

    var service = serviceFactory.CreateOrganizationService(context.UserId);
    if (service is OrganizationService)
    {
        tracingService.Trace("Enabling proxy types");
        ((OrganizationServiceProxy)((OrganizationService)service).InnerService).EnableProxyTypes(assembly);
        tracingService.Trace("Proxy types enabled");
    }
有什么想法吗

    var service = serviceFactory.CreateOrganizationService(context.UserId);
    if (service is OrganizationService)
    {
        tracingService.Trace("Enabling proxy types");
        ((OrganizationServiceProxy)((OrganizationService)service).InnerService).EnableProxyTypes(assembly);
        tracingService.Trace("Proxy types enabled");
    }

谢谢

我从未将程序集作为参数传递给EnableProxyTypes。你没有通过大会就试过了吗

    var service = serviceFactory.CreateOrganizationService(context.UserId);
    if (service is OrganizationService)
    {
        tracingService.Trace("Enabling proxy types");
        ((OrganizationServiceProxy)((OrganizationService)service).InnerService).EnableProxyTypes(assembly);
        tracingService.Trace("Proxy types enabled");
    }
另外,还有另一种方法可以通过添加到行为集合来启用代理类型。下面是一个例子:

    var service = serviceFactory.CreateOrganizationService(context.UserId);
    if (service is OrganizationService)
    {
        tracingService.Trace("Enabling proxy types");
        ((OrganizationServiceProxy)((OrganizationService)service).InnerService).EnableProxyTypes(assembly);
        tracingService.Trace("Proxy types enabled");
    }
公共静态IOR组织服务GetOrganizationService(Guid用户ID) { ClientCredentials=新的ClientCredentials(); credentials.Windows.ClientCredential=System.Net.CredentialCache.DefaultNetworkCredentials; Uri homeRealmUri=null; 使用(OrganizationServiceProxy _serviceProxy=new OrganizationServiceProxy(新Uri(GetOrganizationUri()), homeRealmUri,凭据,空) { _serviceProxy.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(新的ProxyTypesBehavior()); _serviceProxy.CallerId=userId; IOR组织服务_服务=(IOR组织服务)_服务代理; 退货服务; } }
“我们发现需要启用代理类型,以便在工作流的CodeActivities中使用”也许您想要使用,但您肯定不需要Hi,感谢您的回复,但我们决定采用另一种方式,因此这不再适用。