共用方式為


註冊並部署自訂外掛程式以使用您偏好的地理空間資料提供者

在使用外掛程式之前,必須在伺服器上註冊和部署該外掛程式。

建置外掛程式專案,將會產生外掛程式組件 (.dll)。 本文提供相關資訊,讓您了解如何註冊和部署兩個地理空間動作的外掛程式組件,以便使用您偏好的地理空間資料提供者。 如需有關撰寫外掛程式的詳細資訊,請參閱建立自訂外掛程式以使用偏好的地理空間資料提供者

註冊自訂外掛程式時的執行順序考量

當您註冊相同實體及訊息的多個外掛程式時,外掛程式的執行順序是由個別外掛程式的執行順序所定義。執行順序值較低的外掛程式會先執行,隨後執行的是執行順序值較高的外掛程式。

Field Service 和 Project Service 中使用 Bing 地圖服務進行地理編碼及距離矩陣動作的預設外掛程式,其執行順序設定為 1。 您可以將自訂外掛程式的執行順序設定為在預設外掛程式之前 (小於 1) 或之後 (大於 1) 執行。

下表說明您可能需要視註冊外掛程式時所指定的執行順序以及參數條件而定,看待自訂外掛程式的方式。

階層 描述
主要 如果您想要將自訂外掛程式視為主要,而將預設 Bing 外掛程式視為次要,請將您的外掛程式的執行順序設定為 0。 這會導致您的外掛程式會在 Bing 外掛程式之前執行。 Bing 外掛程式會檢查自訂外掛程式傳回的 [緯度] 和 [經度] 值,只有在兩個傳回值都是 0 時,才會使用 Bing 繼續地理編碼。 如果希望您的自訂外掛程式提供大部分地理編碼需要的服務,這會是首選方式。
次要 如果您想要將自訂外掛程式視為 Bing 外掛程式的次要外掛程式,只有在 Bing 無法地理編碼時,才會提供地理編碼服務,請將您的外掛程式的執行順序設定為 2。 您也要撰寫自訂外掛程式的程式碼,此程式碼會先檢查 Bing 外掛程式傳回的 [緯度] 和 [經度] 值,只有在兩個傳回值都是 0 時,才會繼續執行。 如果希望 Bing 提供大部分地理編碼需要的服務,這會是首選執行方式。
完全覆寫 如果您一定要自訂外掛程式做為地理編碼來源,並且完全覆寫 Bing (即使在自訂外掛程式無法地理編碼時也不讓它進行地理編碼),就必須永遠傳回 0,0 以外的 [緯度] 和 [經度] 值。 您可能需要判斷哪些例外情況擲回 .NET 例外狀況,以及哪些情況只是單純未傳回結果。 如果不要傳回結果,也不允許任何後續外掛程式傳回結果時,您的自訂外掛程式就必須傳回像是 0.0001, 0.0001 這樣的值。

註冊和部署自訂外掛程式

您可以使用 Plug-in Registration Tool,或使用特定 SDK 類別撰寫註冊程式碼以程式設計方式,來註冊和部署外掛程式。 其他資訊:註冊和部署自外掛程式

在本節中,我們會使用 Plug-in Registration Tool (提供圖形化使用者介面) 來輕鬆註冊和部署外掛程式,此外,本節也會根據您要使用範例自訂外掛程式,且已建置範例專案以產生 CustomPlugin-FS-Geospatial.dll 組件的假設,包含相關資訊。 如果您已自行開發自訂外掛程式,組件與外掛程式的名稱將會不同,但註冊外掛程式的整體指示仍維持不變。

小費

一般來說,如需有關如何使用 Plug-in Registration Tool 的詳細資訊,請參閱逐步解說:利用 Plug-in Registration Tool 來註冊外掛程式

  1. 取得 Plug-in Registration Tool。 若要取得外掛程式註冊工具,請參閱從 NuGet 下載工具

  2. 瀏覽至 [Your folder]\Tools\PluginRegistration 資料夾,並按兩下 PluginRegistration.exe 檔案以執行工具。

  3. 按一下建立新連線

  4. 登入對話方塊中,指定要連線至 Dynamics 365 執行個體的認證,然後按一下登入

  5. 如果您可以在 Dynamics 365 執行個體中存取多個組織,系統會提供可選擇來連線到的組織的清單。 否則會使用預設組織。

  6. 您應該會看到已註冊外掛程式或自訂工作流程活動組件的摺疊清單。 選取註冊>註冊新組件

  7. 註冊新組件對話方塊:

    • 步驟 1 區段中,按一下省略符號 [...] 按鈕,以選取 CustomPlugin-FS-Geospatial.dll 組件。

    • 步驟 2 區段中,選取這兩個外掛程式。

    • 步驟 3 區段中,選取沙箱選項。

    • 步驟 4 區段中,選取資料庫選項。

    • 選取註冊選取的外掛程式

      The Register New Assembly dialog box

      CustomPlugin-FS-Geospatial.dll 組件以及 msdyn_GeocodeAddress 和 msdyn_RetrieveDistanceMatrix 這兩個外掛程式現已註冊,並且已部署至伺服器。

  8. 下一個步驟是要為每個動作註冊步驟。 步驟代表 SDK 訊息處理步驟實體,用來設定外掛程式何時以及如何執行。

    註冊的外掛程式及自訂工作流程活動樹狀結構檢視中,展開 (組件) CustomPlugin-FS-Geospatial 節點,並選取已註冊的外掛程式,假設為 Microsoft.Crm.Sdk.Samples.msdyn_RetrieveDistanceMatrix

    The Registered Plug-ins & Custom Workflow Activities tree view

  9. 以滑鼠右鍵按一下 Microsoft.Crm.Sdk.Samples.msdyn_RetrieveDistanceMatrix,並選取註冊新步驟

  10. 註冊新步驟對話方塊中指定下列資訊:

    • 訊息:msdyn_RetrieveDistanceMatrix
    • 執行順序:視需要而定。 請參閱本文稍早的註冊自訂外掛程式時的執行順序考量
    • 執行的事件準銷售案源階段:PostOperation
    • 執行模式:同步的
    • 讓其餘欄位保持其預設值。 按一下註冊新步驟

    Screenshot of the Register New Step Dialog window with the General Configuration Information filled out. The Execution Order is set to 0.

  11. 接下來,以滑鼠右鍵按一下 Microsoft.Crm.Sdk.Samples.msdyn_GeocodeAddress 外掛程式,並選取 註冊新步驟

  12. 註冊新步驟對話方塊中指定下列資訊:

    • 訊息:msdyn_GeocodeAddress
    • 執行順序:視需要而定。 請參閱本主題稍早的註冊自訂外掛程式時的執行順序考量
    • 執行的事件準銷售案源階段:PostOperation
    • 執行模式:同步的
    • 讓其餘欄位保持其預設值。 按一下註冊新步驟

    Screenshot showing the Register New Step Dialog window with the General Configuration Information filled out. The Execution Order is set to 0.

您現在已完成註冊步驟,針對這兩個地理空間動作呼叫自訂外掛程式。

如果您在 Plug-in Registration Tool 中檢查任何 Universal Resource Scheduling 地理空間動作,將會看到針對動作所註冊的預設及自訂外掛程式。 例如,看到 mdyn_GeocodeAddress 動作的外掛程式。

The Plug-in Registration tool

另請參閱

範例:要使用 Google Maps API 做為地理空間資料提供者的自訂外掛程式