2012-08-02 65 views
2

我上關於插件或工作流使用WebServices的VS使用動態實體在Microsoft CRM 4.0

使用WebServices的同事辯論,他說使用動態的entites是由微軟提出,作爲最佳實踐網絡服務需要認證。

我認爲使用WSDL和強類型的實體是清潔,不易出錯,認證延遲是微不足道的

同時,我們也正在計劃更新至2011年CRM

左右,其中一個我們是對的?

回答

1

兩個強類型和動態實體使用Web服務,這都需要認證,所以世界上沒有真正的有差異。

在升級到CRM 2011年而言,Web服務已經在2011年改變,因此,如果你想重新編碼你可以,但兩者必須被重新編碼。或者你可以繼續使用Crm 4的web服務,而不是重新編碼。所以再次沒有真正的區別。

我無法找到任何來自微軟表示他們更喜歡動態實體。在Best Practices for Developing with Microsoft Dynamics CRM 2011他們實際上說要使用兩者取決於你的情況。

使用該實體類時,你的代碼必須在實體和未在編寫代碼時已知 屬性工作。 但是,這種靈活性具有缺點,因爲在編譯時您無法驗證實體和屬性名稱。如果你的實體 已經在代碼中定義的時間,你應該使用早期綁定類型 ,你可以通過使用CrmSvcUtil工具生成。有關更多 信息,請參閱使用代碼中的早期綁定實體類。

我認爲這主要歸結爲風格和偏好(沒有人可以是正確的) - 我個人更喜歡動態實體。

強類型 - 優點:

  • 智能感知
  • 設計\編譯時驗證
  • 你不必檢查CRM爲所有實體,領域和關係名
  • 編譯的可執行文件包含了調用類型屬性,方法和事件所需的代碼

強類型 - 缺點:

  • 你必須生成WSDL(並保持再生它每次CRM改變)
  • 生成的類不通過代碼分析,我查了最後一次
  • 它可以是一個有點「重手」 ,例如用動態實體創建新記錄通常是幾行。不得不生成數百個強類型類來編寫幾行代碼看起來像是一種矯枉過正的行爲。
1

動態實體和強類型實體都需要認證。我不認爲兩者之間的身份驗證延遲。

如果您正在編寫可應用於其他CRM組織(如ISV那樣)的通用代碼,那麼動態實體就是要走的路。否則,我會建議強類型實體是更好的選擇,因爲代碼更乾淨,更具可讀性。

的代碼這兩套將需要與CRM 2011年重新工作

一切順利,

相關問題