| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Почему плагин может отваливаться?
			 
			
			Повесила плагин на Update сущности. 
		
		
		
		
		
		
		
	При указании синхронного Execution Mode вылетал по тайм-ауту. Не зная, как именно устроены "внутренности" CRM'а, предположила, что при попытке изменения сущности во время её же синхронного post-update возникает нечто вроде взаимо-блокировки. Поменяла на режим на асинхронный - (о, чудо!) заработало! Но ненадолго. На следующий день плагин вдруг вообще перестал отрабатывать. В Romote Debugger'е не ловится, и даже если проброс исключения в самом начале вставить - никаких признаков жизни не подаёт. При этом если изменить режим на синхронный - работает (но всё с той же проблемой тайм-аута). Что могло такого произойти, что он вдруг вот так отвалился?  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Консультант-джедай 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А у плагина много работы?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать!   Блога
			 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Чайный пьяница 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Код плагина покажите, пожалуйста + как вы шаг регистрируете.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Он пересчитывает график наполнения плановых платежей по акцептированным фактическим. 
		
		
		
		
		
		
		
	Делает это, дёргая метод вин-сервиса. Фишка в том, что он таки работает, но через раз. Сепйчас вот, после перезагрузки сервера, снова работают, но только при Update и Create. При Delete молча не отрабатывает. Настройки те же, что и в Update. Раньше работал. Теперь не работает даже при переригистрации шага.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Чайный пьяница 
		
			
	 | 
	
	
	
		
		
		
		
		
		
		
		
		
		
			 
				__________________ 
		
		
		
		
	Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			1. У Вас видимо действительно блокировка. У Вас происходит получение сущности, для которой сейчас плагин работает? 
		
		
		
		
		
		
			
		
		
		
		
		
			В 2011 СРМ пост шаг находится в транзакции. 2. Чтобы подключиться удаленным отладчиком к асинхронному плагину необходимо подключаться к процессу CrmAsyncService.exe 3. Вместо Exception пишите лог в файл. Только дайте доступ к той папке, в которую писать будете. 4. Settings->System Jobs там показываются статусы асинхронных операций в том числе и асинхронных плагинов. Ваш плагин там есть? Последний раз редактировалось g.Naukovych; 13.12.2012 в 15:49.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Violette (1). | |
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну, код плагина получает id платежа и передаёт его в вызов сервиса. 
		
		
		
			Дело не в нём, скорее всего. Вот пример настроек в Шаге неработающего Delete. В шаге Update всё то же самое, а он работает почему-то...  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Чайный пьяница 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А сам эндпоинт, который вы вызываете  сам по себе долго отрабатывает?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от g.Naukovych
			 
 
			1. У Вас видимо действительно блокировка. У Вас происходит получение сущности, для которой сейчас плагин работает? 
		
	В 2011 СРМ пост шаг находится в транзакции. 2. Чтобы подключиться удаленным отладчиком к асинхронному плагину необходимо подключаться к процессу CrmAsyncService.exe 3. Вместо Exception пишите лог в файл. Только дайте доступ к той папке, в которую писать будете. 4. Settings->System Jobs там показываются статусы асинхронных операций в том числе и асинхронных плагинов. Ваш плагин там есть? Не вызывается специальное тестовое исключение throw new Exception("Работает, блин!"); Аттачусь к w3wp.exe (что за зверь - не знаю. по инструкции рекомендован). Но он действительно схватывается только в синхронных плагинах. CrmAsyncService.exe в списке процессов что-то не видно.  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Violette
			 
 
			Ну, код плагина получает id платежа и передаёт его в вызов сервиса. 
		
	Дело не в нём, скорее всего. Вот пример настроек в Шаге неработающего Delete. В шаге Update всё то же самое, а он работает почему-то... Вложение 7982 Ну это просто как вариант, мало ли)  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Violette (1). | |
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			w3wp процесc IIS 
		
		
		
		
		
		
			
		
		
		
		
	Цитата: 
	
		
			Settings->System Jobs там показываются статусы асинхронных операций в том числе и асинхронных плагинов. Ваш плагин там есть?
		
	 
Асинхронус сервис вообще работает? служба виндовс Microsoft Dynamics CRM Asynchronous Processing Service Microsoft Dynamics CRM Asynchronous Processing Service (maintenance)  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Чайный пьяница 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Проверьте, что у вас при аттаче выделены указанные галочи, так же на всякий случай обвёл процесс, к которому нужно атачиться: 
		
		
		
			По поводу почему его не видно в процессах - проверьте в оснастке, что асинхронный сервис запущен: 
				__________________ 
		
		
		
		
	Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Violette (1). | |
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
public override void Execute(IServiceProvider serviceProvider) { //throw new Exception("Работает, блин!"); base.Execute(serviceProvider); Microsoft.Xrm.Sdk.Entity target = (Microsoft.Xrm.Sdk.Entity)_currentContext.InputParameters["Target"]; string id = target.Attributes["new_paymentplanid"].ToString(); Guid gid = new Guid(id); CallPaymentService(gid); }  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Где хранится базовый класс, от которого плагин наследуется. в отдельной длл? 
		
		
		
		
		
		
			
		
		
		
		
	Если да, где хранится эта длл?  | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Заноза в заднице 
		
			
	 | 
	
	
	
		
		
			
			
			AsyncService скорее всего...
			 
			
			Асинхронный сервис может и работает, но плохо. То есть в процессах Windows он может и запущен, но если там много блокировок - то очередь просто не продвигается. Потому и плагин асинхронный не отрабатывает. 
		
		
		
		
		
		
			На всякий случай загляните в модуль "настройки", где откройте список "Системные задания" и выберите представление "Заблокированные системные задания". Если у Вас там есть записи - то нужно выяснять причину блокировок, устранять её и тогда асинхронные процессы и плагины будут работать (до новой блокировки - неплохо бы утранить и причину возникновения блокировок, если таковые возникают). 
				__________________ 
		
		
		
		
		
			Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! Последний раз редактировалось Likefire; 13.12.2012 в 16:44.  | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
С этим всё в порядке. Проблема была в том, что к w3wp.exe аттачилась и не могла отловить срабатывание асинхронного плагина. Теперь всё в порядке благодаря коллективному разуму.  | 
| 
	
 | 
| 
	
	 | 
	
			 
			Похожие темы
		 | 
	||||
| Тема | Ответов | |||
| CRM 4.0: Плагин на Assign не запускается из Workflow | 10 | |||
| Плагин | 3 | |||
| Не срабатывает плагин | 11 | |||
| Плагин на изменение подразделения пользователя | 6 | |||
| Плагин на создании Заказа | 4 | |||
		
  |