我已经将我的插件注册为在"无"隔离模式下运行的后异步插件。当我处于调试模式时,它会运行,但当我在目标实体"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");
}
.....
}
}
当我在调试模式下运行插件并且执行时没有出现任何错误时,插件正在按预期工作。当我将文档附加到我的实体时,插件根本不会执行,也不会记录任何错误。
有什么诊断方法吗?或者缺少什么?
- 尝试将其更改为sync-plugin&验证它是否触发。您可以在第一行中抛出
InvalidpluginExecutionException
以进行验证 - 很高兴你正在使用跟踪服务(猜测你已经在这里修剪了代码?(,通过导航到设置-插件跟踪日志来检查插件跟踪日志中的任何异常