Я недавно начал работать с плагинами в CRM 2011, и у меня возникли проблемы с плагинами, зарегистрированными в сообщении «Создать» как постоперация.
Когда я регистрирую создание как постоперацию, я ожидаю, что когда я нажму код плагина, сущность уже будет создана в базе данных, и я смогу создать связанную сущность (связанную свновь созданный объект по внешнему ключу) в плагине.Но когда я создаю связанную сущность и обновляю ее, и говорю SaveChanges (), она дает мне Microsoft.Xrm.SaveChangesException «Произошла ошибка при обработке этого запроса»
И если я детализирую внутреннее исключениеэто просто указывает на ServiceServiceFault.Трассировка стека, которую он показывает:
Трассировка стека сервера: в System.ServiceModel.Channels.ServiceChannel.HandleReply (операция ProxyOperationRuntime, ProxyRpc & rpc) в System.ServiceModel.Channels.ServiceChannel.Call (string, булева OneWay, операция ProxyOperationRuntime, Object [] модули, Object [] выходы, TimeSpan тайм-аут) в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (IMethodCallMessage methodCall, эксплуатации ProxyOperationRuntime) при System.ServiceModel.Channels.ServiceChannelProxy.Invoke (IMessage сообщения)
Исключение переброшено в [0]: в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg) в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (DataData)тип) в Microsoft.Xrm.Sdk.IOrganizationService.Execute (запрос OrganizationRequest) в Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.ExecuteCore (запрос OrganizationRequest) в Microsoft.Xrm.Sdk.Client.OrganizationServiceContext.Execute (запрос OrganizationRequest) в Microsoft.Xrm.Sdk.Client.OrganizationServiceContext.SaveChange (запрос OrganizationRequest, результаты IList`1
Я сталкиваюсь с этой проблемой только в сообщении создания, если я выполняю запроста же операция по обновлению или удалению, работает нормально.Кто-нибудь сталкивался с этой проблемой?Пожалуйста, предоставьте некоторые материалы о том, что я могу попытаться решить эту проблему.Спасибо заранее!
Кроме того, вот мой код плагина.
Плагин запускается при создании сущности ct_repcode, а затем в своем плагине я создаю сущность ct_repcodeMember, которая имеет поле ct_repcodeid, котороессылки на фактическую сущность ct_repcode.
Entity repcodeEntity = _context.InputParameters["Target"] as Entity;
Guid repcodeId = repcodeEntity.Id;
//Create a new Ct_repcodemember object
Ct_repcodemember repcodeMember = new Ct_repcodemember();
Guid repCodeMemberId = _service.Create(repcodeMember);
repcodeMember = _serviceContext.Ct_repcodememberSet.Where(a => a.Id == repCodeMemberId).FirstOrDefault();
repcodeMember.ct_repcodeid = new EntityReference { Id = repcodeId };
//Update the object and save the changes in crm
_serviceContext.UpdateObject(repcodeMember);
_serviceContext.SaveChanges(); // --- The timeout error happens here