【问题标题】:CRM 2013 How to debug retrieve plugin?CRM 2013 如何调试检索插件?
【发布时间】:2015-01-29 15:08:43
【问题描述】:

我想调试一个检索插件,但是无法使用插件注册工具,有没有其他方法可以调试这种类型的插件?

【问题讨论】:

  • 我建议尝试将日志语句添加到插件中的真实方法。
  • 我不知道为什么你不能使用插件注册工具。能否请您提供信息如何使用它?
  • 插件注册工具和插件分析器是正确的答案。为什么你不能使用它?如果您可以连接到 CRM,那么该工具将起作用。

标签: dynamics-crm crm dynamics-crm-2013


【解决方案1】:

您可以使用 ITracingService,如下所示。使用跟踪服务,您可以跟踪问题的原因。

public class MyPlugin : IPlugin
{
    public void Execute(IServiceProvider serviceProvider)
    {
        IPluginExecutionContext context =
            (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
        ITracingService tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));

        IOrganizationServiceFactory factory;
        IOrganizationService service;

        try
        {
            tracingService.Trace("initialize context, factory and service...");
            factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));

            tracingService.Trace("CreateOrganizationService()");
            service = factory.CreateOrganizationService(context.UserId);

        }
        catch (Exception ex)
        {
            throw new InvalidPluginExecutionException(ex.Message, ex);
        }
    }
}

【讨论】:

  • Retrieve 和 RetrieveMultiple 通常不会提供 Trace 日志,即使它们抛出错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多