26.02.2013, 14:55 | #1 |
Участник
|
CRM 4.0 Отладка плагина
Добрый день!
Я пытаюсь отладить плагин, подключенный к событию Create кастомной сущности new_grmember. Начало плагина выглядит следующим образом: X++: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Crm.Sdk; using Microsoft.Crm.SdkTypeProxy; using Microsoft.Crm.Sdk.Query; using Microsoft.Win32; using Company.MsCrm40.Sdk; using Company.MsCrm40; using Company.Apps.Plugins.DataAccess; namespace Company.Apps.Plugins { public class PostCreateGroupMember : Plugin { public PostCreateGroupMember(string unsecureInfo, string secureInfo) : base(unsecureInfo, secureInfo) { } public override void Execute(IPluginExecutionContext context) { try { base.Execute(context); if (PluginConfiguration.LogIncomingMessages) { Logger.WriteInfo("PostCreateGroupMember Plug-in running.\nPluginExecutionContext:\n" + PluginHelper.GetContextXml(context)); } if (context.CallerOrigin is OfflineOrigin) return; _entity = (DynamicEntity)GetTargetEntity(_currentContext); if (context.MessageName == "Create" && TargetEntity.Properties.Contains("new_groupid")) { CreateVisits(); } UpdateGroupData(context); } catch (Exception ex) { StringBuilder errorMessage = new StringBuilder(); errorMessage.AppendFormat("Plug-in {0} failed\n", this.GetType().ToString()); errorMessage.AppendFormat("PrimaryEntityName: {0}\n", context.PrimaryEntityName); errorMessage.AppendFormat("MessageName: {0}\n", context.MessageName); errorMessage.AppendFormat("Error: {0}\n", ex.Message); InvalidPluginExecutionException invalidPluginExecutionException = new InvalidPluginExecutionException(errorMessage.ToString(), ex); invalidPluginExecutionException.Data.Add("PluginExecutionContext", PluginHelper.GetContextXml(context)); Logger.WriteError(invalidPluginExecutionException); throw invalidPluginExecutionException; } finally { UpdatePluginCheckeron(); Finally(); } } base.Execute(context); ничего не происходит. Т.е. при создании нового экземпляра сущности отрабатывает плагин без остановки в этой точке. Складывается ощущение, что этот код не отрабатывается в принципе. Зато если я ставлю точку останова в методе Execute класса Plugin, от которого унаследован класс PostCreateGroupMember, то отладчик на этой точке останавливается и дальше я могу отследить его работу (в метод Execute класса PostCreateGroupMember он так и не заходит). Вопрос: почему так происходит? По каким причинам плагин может не отрабатывать? Регистрировала плагин и подключалась к процессу так, как описано в этой статье: http://mmcrm.ru/?p=977. Последний раз редактировалось probka; 26.02.2013 в 15:55. |
|
|
|