2015-12-11 76 views
1

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

我已成功获取SDK示例沙盒插件发送创建到Azure服务总线队列。

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

读什么我可以找到,它提到的前和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); 
} 

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

为了进一步迷惑了我,我送,我修改其他属性第二个消息,但这些不会出现在任何设置属性

+0

可能缺少的属性只是有'null'值? –

+0

不,他们都有字符串 – SteveC

回答

2

在插件的目标只会包含的值进行更新。如果你想确保一个属性总是在那里,你需要将它添加为一个实体图像。前置实体将包含事务发生前的值,后置实体将包含更新发生后的值。

右键点击插件注册工具的步骤,并选择数据库“添加图片”

+0

啊,我没有拿起,我必须明确添加前或后图像。我假定CRM做到这一点,作为发送RemoteExecutionContext的过程的一部分,服务总线队列 – SteveC

+1

没有。它需要数据库查询,所以只有当你说你需要它时才会执行它。 – Daryl

+0

你可以举一个例子或参考如何? – SteveC