代码之家  ›  专栏  ›  技术社区  ›  Mostafa

CRM内部部署上未启动操作后异步插件

  •  1
  • Mostafa  · 技术社区  · 6 年前

    我已经将我的插件注册为在非隔离模式下运行的后异步插件。当我在目标实体“annotation”上创建记录时,它在调试模式下运行,但不是从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 回复  |  直到 6 年前
        1
  •  0
  •   Arun Vinoth PrecogTechnologies    6 年前
    1. 尝试将其更改为sync plugin&验证它是否触发。你可以扔 InvalidpluginExecutionException 在第一行自己验证
    2. 很好,你使用的是跟踪服务(你猜你已经删掉了这里的代码?),通过导航到“设置”-“插件跟踪日志”,检查插件跟踪日志是否有任何异常