2015-12-11 110 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