1
我正在嘗試爲MS動態CRM 4.0做一個簡單的插件,在訂單的更新中發送SOAP消息中的銷售訂單的數據。 奇怪的是,我每隔一次嘗試保存/(執行插件)時都會收到此錯誤。 所以,當我更新salesorder的(任何字段),然後保存我的錯誤:給定的密鑰不在字典中
The given key was not present in the dictionary.
當我保存之後再馬上(甚至沒有在兩者之間保存任何更改),它正確和執行給我所有我想要的數據。它實際上每次都是同樣的事情:第一次保存:錯誤,第二次保存:正確執行。
任何想法這可能是什麼?
這是我的代碼的第一部分;它實際上得到了salesorder在這種情況下,數據集:
public class CompleteOrderPlugin : IPlugin
{
public void Execute(IPluginExecutionContext context)
{
DynamicEntity entity = null;
if (context.InputParameters.Properties.Contains(ParameterName.Target) &&
context.InputParameters.Properties[ParameterName.Target] is DynamicEntity)
{
entity = (DynamicEntity)context.InputParameters[ParameterName.Target];
if (entity.Name != EntityName.salesorder.ToString()) { return; }
}
else
{
return;
}
剩下的就是我用值從屬性,以填補我自己的變量。
我會使用Fiddler並比較兩個請求 - 確保它們確實是完全相同的請求。 我相信錯誤是典型的訪問不存在的動態實體的屬性。但是,銷售訂單可能會產生一些額外的行爲,我不能評論(不知道它是你的插件還是CRM的內部結構)。如果提琴手跟蹤沒有幫助,我會附加調試器,並通過插件。 – 2009-12-07 14:44:41
另外,隨時發佈一些你的插件代碼。 – 2009-12-07 22:41:22
感謝您的幫助! – AaronTjong 2009-12-07 23:52:26