自訂運算質 (BizTalk Server 範例)
「自訂運算質」範例示範如何為 BizTalk 對應工具撰寫自訂運算質。 您可以將運算質加入至 Visual Studio 工具箱。 BizTalk 對應工具在焦點時,[工具箱] 中會顯示運算質。
自訂運算質應該存在於 BizTalk 對應工具組件才能辨識它。 您可以用任何 .NET 相容的語言來撰寫自訂運算質,例如 C# 或 Visual Basic。
此外,自訂運算質必須衍生自 Microsoft.BizTalk.BaseFunctoids
類別,而且必須藉由覆寫它們來提供某些方法的實作。 (類別 BaseFunctoid
定義于隨附于 BizTalk Server.) 的 Microsoft.BizTalk.BaseFunctoids.dll 元件中
自訂運算質範例會實作數個運算質,每個運算質都是衍生自 BaseFunctoid
類別,並覆寫數個方法。
實作自訂運算質時,您可以公開其內嵌程式碼。 內嵌程式碼會執行運算質的計算。 BizTalk 對應工具編譯器會從運算質擷取內嵌程式碼,再於建置專案時將它內嵌於編譯的 XSLT。
若自訂運算質未公開任何內嵌程式碼,BizTalk 對應工具會產生 XSLT (用來呼叫自訂運算質所在之組件)。 因此,您必須確定自訂運算質組件可在全域組件快取 (GAC) 中使用,這樣 XSLT 引擎才找得到它。 自訂運算質也必須具備唯一的 GUID 屬性。 BizTalk 對應工具會使用 GUID 識別要載入的組件。
重要
若您重複使用「自訂運算質」範例程式碼實作自己的運算質,務必將 GUID 屬性變更為唯一的屬性。
< 範例路徑 >\XmlTools\CustomFunctoid
下表顯示此範例中的檔案,並描述其用途。
檔案 | Description |
---|---|
AssemblyInfo.cs | 組件資訊 C# 原始程式碼。 |
CBuildArray.bmp | 工具箱點陣圖。 |
CConcat.bmp | 工具箱點陣圖。 |
CExtractArray.bmp | 工具箱點陣圖。 |
Cleanup.bat | 用來解除部署組件,將這些組件從全域組件快取 (GAC) 移除,並刪除 CustomFunctoid.dll。 |
CLongestString.bmp | 工具箱點陣圖。 |
CMultiply.bmp | 工具箱點陣圖。 |
CustomFunctoid.cs | 自訂運算質 C# 原始程式碼。 |
CustomFunctoid.csproj | 自訂運算質 C# 專案。 |
CustomFunctoid.sln | 自訂運算質解決方案。 |
CustomFunctoidResources.resx | 自訂運算質資源。 |
Setup.bat | 用來建置、部署及啟動範例。 |
請使用下列程序來建置和初始化「自訂運算質」範例。
在命令視窗中,將目錄 (cd) 變更為下列資料夾:
< 範例路徑>\XmlTools\CustomFunctoid
執行檔案 Setup.bat,這會執行下列動作:
建置範例專案。
將產生的組件複製至 Developer Tools\Mapper Extensions 目錄。
將產生的組件加入至 GAC。
注意
在嘗試執行此範例之前,您應該確認在建置和初始化程序期間沒有報告錯誤。
使用下列程序執行「自訂運算質」範例。
從 Visual Studio BizTalk 專案,按一下 [ 工具] 功能表,然後選取 [ 選擇工具箱專案]。
在 [ 選擇工具箱專案] 對話方塊中,選取 [BizTalk Mapper 運算質] 索引 標籤。
按一下 [重設],然後按一下 [ 確定]。
注意
如果您的自訂運算質未公開任何內嵌程式碼,請確定可以在 GAC 中使用它的組件。
從 [ 檔案] 功能表中,選取 [ 結束 ] 以關閉 Visual Studio。
啟動 Visual Studio 命令提示字元。
在命令提示字元中,輸入 devenv /setup。
啟動 Microsoft Visual Studio。
自訂運算質 (自訂串連運算質、最長字串、建置陣列運算質和擷取陣列運算質) 出現在 [工具箱] 的 [ 字串運算質 ] 索引標籤上,而 [累計乘乘運算質] 會顯示在 [ 累計運算質 ] 索引標籤上。
使用下列程序移除「自訂運算質」範例。
從 Visual Studio 工具箱移除運算質。
警告
在執行 Cleanup.bat 之後,如果您仍然在工具箱中看到過時的自訂運算質 (可能是因為 Visual Studio 在內部進行快取),請遵循下列程序:
從 Visual Studio BizTalk 專案,按一下 [ 工具] 功能表,然後選取 [ 選擇工具箱專案]。
在 [ 選擇工具箱專案] 對話方塊中,選取 [BizTalk Mapper 運算質] 索引 標籤。
在清單中尋找自訂運算質 (自訂串連運算質、最長字串、建置陣列運算質、擷取陣列運算質和累計乘數) 。 按一下個別 的核取方塊 來移除運算質,然後按一下 [ 確定]。
如果上述程序無法解決問題,請遵循下列程序。
從 Visual Studio BizTalk 專案,在編輯地圖時按一下 [ 工具箱 ] 索引標籤,以顯示 [工具箱選擇區]。
以滑鼠右鍵按一下工具方塊,然後選取 [ 選擇專案]。
在 [選擇專案] 對話方塊中,按一下 [ 重設],然後按一下 [ 確定]。
關閉所有 Visual Studio 執行個體。
如果上述程序無法解決問題,請遵循下列程序。
以系統管理員身分啟動 Visual Studio 命令提示字元 。
關閉所有執行中的 Visual Studio 執行個體。
執行下列命令:
devenv /resetsettings
devenv /setup
您可以從工具箱中手動選取不想要的運算質。 然後,以滑鼠右鍵按一下運算質,然後按一下 [ 刪除]。
如果上述程序無法解決問題,請遵循下列程序。
從 Visual Studio BizTalk 專案,在編輯對應時按一下 [工具箱] 索引標籤,顯示出工具箱工具板。
按一下 [累計運算質] 群組。
以滑鼠右鍵按一下您想要移除的運算質,然後選擇 [ 刪除 ] 或按刪除鍵。
按一下 [字串運算質] 群組。
以滑鼠右鍵按一下您想要移除的運算質,然後選擇 [ 刪除 ] 或按刪除鍵。
在命令視窗中,將目錄 (cd) 變更為下列資料夾:
< 範例路徑>\XmlTools\CustomFunctoid
執行 Cleanup.bat 檔案,它會執行下列動作:
從 Developer Tools\Mapper Extensions 目錄刪除元件。
從 GAC 移除組件。