后操作异步插件未在前提条件上的CRM上触发

时间:2018-12-11 18:27:59

标签: c# dynamics-crm

我已将我的插件注册为以“无”隔离模式运行的异步发布插件。它在我处于调试模式时运行,但在目标实体“注释”上创建记录时不在Web上运行。

我想补充一下,该程序集已注册以存储在数据库中。

代码:

public void Execute(IServiceProvider serviceProvider)
{
    try
    {
        if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
        {
            // Obtain the target entity from the input parameters.
            Entity entity = (Entity)context.InputParameters["Target"];

            // Verify that the target entity represents an annotation. If not, this plug-in was not registered correctly.
            if (entity.LogicalName != "annotation")
                return;

            tracingService.Trace("A Plugin is triggered!", "My Plugin");
        }

            .....

    }


}

当我在调试模式下运行该插件并且没有错误执行时,该插件可以正常工作。当我将文档附加到我的实体时,插件根本不会执行,也不会记录任何错误。

任何想法如何诊断?还是缺少什​​么?

1 个答案:

答案 0 :(得分:0)

  1. 尝试将其更改为同步插件,并验证其是否完全触发。您可以将InvalidpluginExecutionException放在第一行中以进行验证
  2. 如果您正在使用跟踪服务(是否在这里修剪过代码?),请导航至“设置-插件跟踪日志”,以检查插件跟踪日志是否存在异常