如何访问RemoteExecutionContext中已更改和未更改的属性?

时间:2015-12-11 17:44:53

标签: azure dynamics-crm azureservicebus dynamics-crm-online

如何访问RemoteExecutionContext中已更改且未更改的属性?

我已成功将SDK示例沙箱插件发送到Azure Service Bus队列。

接下来我想处理更新消息,但是我似乎无法获得所有属性。

阅读我能找到的内容,它提到了Pre-PostImage和PostImage,我可以看到一些属性......

// context is the passed in RemoteExecutionContext
var postEntityImage = context.PostEntityImages["AsynchronousStepPrimaryName"];
foreach (var attribute in postEntityImage.Attributes)
{
    Console.WriteLine("{0}  {1}", attribute.Key, attribute.Value);
}

var inputParametersEntity = (Entity) context.InputParameters["Target"];
foreach (var attribute in inputParametersEntity.Attributes)
{
    Console.WriteLine("{0}  {1}", attribute.Key, attribute.Value);
}

但我怎样才能获得剩余的属性?

为了进一步混淆我,我发送了第二条消息,其中我修改了其他属性,但这些属性没有出现在任何一组属性中

1 个答案:

答案 0 :(得分:2)

插件中的目标只包含要更新的值。如果要确保属性始终存在,则需要将其添加为实体图像。预实体将在事务发生之前包含值,post实体将包含更新发生后的值。

右键单击插件注册工具中的步骤,然后选择“添加图像”