Dynamics crm CRM 2016 OrganizationServiceProxy.EnableProxyTypes似乎挂起
我们目前正在更改后端系统的体系结构,我们发现需要使用OrganizationServiceProxy.EnableProxyTypes方法启用代理类型,以便在工作流的CodeActivities中使用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
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,感谢您的回复,但我们决定采用另一种方式,因此这不再适用。