MSCRM 2011 注册Plugin报runtime error是由于find DC 超时引起的解决方案

错误信息如下:

at SystemUserService.FindResultInDC(List`1 dcCol, String accountName)

at SystemUserService.QueryDomainControllers(Domain currentDomain, String accountName)

at SystemUserService.GetCaseSafeName(String domain, String accountName)

at SystemUserService.GetCaseSafeName(String name)

at SystemUserService.TryCheckPrivilege(PrivilegeOnPremise privilege, String systemUserName)

at PluginValidatorBase.HasManagePluginPrivilege()

at IsolationValidator.ValidateInternal()

at PluginValidatorBase.Validate()

at PluginAssemblyServiceInternal`1.AllowAssemblyRegistration(IBusinessEntity pluginAssembly, ExecutionContext context)

at PluginAssemblyServiceInternal`1.VerifyRegistrationAbility(IBusinessEntity pluginAssembly, Boolean createCall, ExecutionContext context)

at SdkEntityServiceBase.CreateInternal(IBusinessEntity entity, ExecutionContext context, Boolean verifyAction)

at RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)

at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)

at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

at LogicalMethodInfo.Invoke(Object target, Object[] values)

at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)

at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)

at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)

at Pipeline.Execute(PipelineExecutionContext context)

at MessageProcessor.Execute(PipelineExecutionContext context)

at InternalMessageDispatcher.Execute(PipelineExecutionContext context)

at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)

at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType)

at OrganizationSdkServiceInternal.Create(Entity entity, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType)

at OrganizationSdkService.Create(Entity entity)

at

at SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)

at DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)

at ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)

at ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)

at MessageRpc.Process(Boolean isOperationContextSet)

at ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)

at ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)

at ChannelHandler.AsyncMessagePump(IAsyncResult result)

at AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)

at AsyncResult.Complete(Boolean completedSynchronously)

at ReceiveItemAndVerifySecurityAsyncResult`2.InnerTryReceiveCompletedCallback(IAsyncResult result)

at AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)

at AsyncResult.Complete(Boolean completedSynchronously)

at AsyncQueueReader.Set(Item item)

at InputQueue`1.Dispatch()

at ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)

at IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)

at _IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

>Exception in FindResultInDC: 该服务器不可操作。

解决方案:

 I.        请转到以下注册表配置单元:

II.        HKLM\Software\Microsoft\MSCRM

III.        添加一个新的 String 值,它被命名为 PreferredDc。

IV.        指定所需的域控制器。一般情况下,这是最接近的域控制器。

V.        重新启动该 CRM 服务器。

参考网址:

http://support.microsoft.com/kb/954811

原文地址:https://www.cnblogs.com/Republic/p/2363186.html