【发布时间】:2011-05-16 07:27:33
【问题描述】:
在 Microsoft Dynamics CRM 4.0 中创建插件时,您可以使用以下方法检查导致插件触发的事件的来源。
public void Execute(IPluginExecutionContext context)
{
if (context.CallerOrigin.GetType() == CallerOrigin.WebServiceApi.GetType())
{
return;
}
plugin code here...
}
这将允许您检查该操作是否由表单中的用户、Web 服务或工作流等引起...
我有一个通过 WCF 创建和更新实体的同步应用,并且不希望插件在发生这种情况时执行,仅在用户编辑实体时执行(以防止同步过程中的无限循环)。
IExecutionContext.CallerOrigin 已在 MS Dynamics CRM 2011 中删除,那么执行此操作的新方法是什么?
我在想可能有一种方法可以在 WCF 调用中设置 IExecutionContext.CorrelationId,然后检查插件中的特定 Guid,但我还没有运气。
【问题讨论】:
标签: c# wcf dynamics-crm infinite-loop dynamics-crm-2011