08.11.2012, 17:27 | #1 |
Участник
|
Workflow и Plugin
Plugin
Entity: Task Message: Create Pipeline stage: Post Ex. mode: Sync В момент создания задачи происходит +1 в неком поле связанной (regarding) записи, для отслеживание количества открытых задач if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity) { Entity entity = (Entity)context.InputParameters["Target"]; try { if (entity.Attributes.Contains("regardingobjectid")) { EntityReference postid = (EntityReference)entity["regardingobjectid"]; if (postid.LogicalName == "xxx_partnershipopportunity") { Entity wr = new Entity("xxx_partnershipopportunity"); wr["xxx_partnershipopportunityid"] = postid.Id; wr = service.Retrieve("xxx_partnershipopportunity", postid.Id, new ColumnSet("xxx_optioncounter")); int number = Convert.ToInt32(wr["xxx_optioncounter"]) + 1; wr["xxx_optioncounter"] = number; service.Update(wr); } } } Работает хорошо при "ручном" создании Задач. Работает хорошо при создании Задач с помощь workflow, в котором нету обращения к дочерним процессам. А вот в случае следующего workflow, не правильно отрабатывает счетчик: Entity:xxx_partnershipopportunity Тип запуска: в ручную Scope: Организация Шаг 1 Запуск дочернего рабочего процесса, в рамках которого просто создаются 2 задачи Шаг 2 Проверяем условие (абсолютно без разницы какое) и если да, то запускаем дочерний процесс, в рамках которого создается 1 задача В результате в счетчик записывается 2, а не 3. Люди добрые, подскажите в какую сторону копать. Регистрировал уже плагин и в асинхроне и в sandbox, все равно 2е из 3х Задачи |
|
08.11.2012, 17:42 | #2 |
Чайный пьяница
|
Простите за глупый вопрос, но дебажить пробовали?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
08.11.2012, 22:45 | #3 |
Участник
|
Попробуйте заблокировать весь код, до момента его завершения.
Если не поможет, пишите в лог, что у Вас происходит внутри. Или действительно дебажте, если есть возможность. |
|
|
За это сообщение автора поблагодарили: scint (1). |
09.11.2012, 09:58 | #4 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: scint (1). |
09.11.2012, 13:07 | #5 |
Участник
|
Цитата:
Не подскажите по настройке remote debug? А то установил его на CRM server, цепляюсь VS 2010, на Async service и на Sandbox.Workproc процессы, и в output вижу только строчки Load workflow А по плагинам совсем тишина( |
|
09.11.2012, 14:10 | #6 |
Чайный пьяница
|
По поводу remote debug посмотрите следующую статью. Я её видел, но никогда не пытался использовать - http://weblogs.asp.net/pabloperalta/...ssemblies.aspx
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
11.11.2012, 12:57 | #7 |
Участник
|
Спс за статью, подключался не на тот процесс( В результате дебага вижу следующее
'CrmAsyncService.exe' (Managed (v4.0.30319)): Loaded 'Workflow' 'CrmAsyncService.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_64\ISymWrapper\v4.0_4.0.0.0__b03f5f7f11d50a3a\ISymWrapper.dll', Symbols loaded. Function: CrTas.CrTasPlug.PostЗадачаCreate.ExecutePostЗадачаCreate(CrTas.CrTasPlug.Plugin.LocalPluginContext), Thread: 0x1F94 <No Name> A first chance exception of type 'System.NotSupportedException' occurred in System.Runtime.DurableInstancing.dll A first chance exception of type 'System.NotSupportedException' occurred in System.Runtime.DurableInstancing.dll 'CrmAsyncService.exe' (Managed (v4.0.30319)): Loaded 'Workflow' 'CrmAsyncService.exe' (Managed (v4.0.30319)): Loaded 'Workflow' Function: CrTas.CrTasPlug.PostЗадачаCreate.ExecutePostЗадачаCreate(CrTas.CrTasPlug.Plugin.LocalPluginContext), Thread: 0x1F94 <No Name> Function: CrTas.CrTasPlug.PostЗадачаCreate.ExecutePostЗадачаCreate(CrTas.CrTasPlug.Plugin.LocalPluginContext), Thread: 0xBD8 <No Name> A first chance exception of type 'System.NotSupportedException' occurred in System.Runtime.DurableInstancing.dll A first chance exception of type 'System.NotSupportedException' occurred in System.Runtime.DurableInstancing.dll Function: CrTas.CrTasPlug.PostЗадачаCreate.ExecutePostЗадачаCreate(CrTas.CrTasPlug.Plugin.LocalPluginContext), Thread: 0xBD8 <No Name> A first chance exception of type 'System.NotSupportedException' occurred in System.Runtime.DurableInstancing.dll A first chance exception of type 'System.NotSupportedException' occurred in System.Runtime.DurableInstancing.dll A first chance exception of type 'System.Net.Sockets.SocketException' occurred in System.dll A first chance exception of type 'System.ServiceModel.CommunicationException' occurred in System.ServiceModel.dll То есть по факту, четыре раза выполняется +1, а в реальности вижу в счетчике 3 |
|
12.11.2012, 10:11 | #8 |
Заноза в заднице
|
Я, конечно, могу ошибаться, но насколько я помню, SocketException в моей практике возникал тогда, когда выполнялось несколько одновременных подключений к веб-сервису CRM. Возможно, Ваша ошибка является следствием отправки нескольких одновременных запросов на получение/обновление данных.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! |
|
|
|