使用 WCF LOB 配接器 SDK 部署配接器
若要部署配接器,您必須將配接器元件安裝到全域組件快取 (GAC) ,然後在 machine.config 檔案中註冊配接器。
將配接器元件安裝到 GAC
在使用 Visual Studio 中使用 [新增配接器服務參考外掛程式] 命令或在 BizTalk Server中使用配接器服務增益集功能取用配接器之前,您必須將元件安裝到 GAC 中。 只有強式名稱的元件可以安裝在 GAC 中。
注意
若要完成此程式,您必須使用具有 GAC 寫入權限的帳戶登入。 本機電腦上的「系統管理員」帳戶具有這些權限。
設定強式名稱元件金鑰檔案
在 Visual Studio 中,載入需要強名稱的配接器專案檔。
開啟 Visual Studio 命令提示字元。
在命令提示字元中,切換到您想要儲存金鑰檔案的資料夾,再輸入下列命令,然後按下 ENTER:
sn /kfile_name.snk
範例: sn /k EchoAdapter.snk
確認訊息,寫入<至file_name.snk
,
> 的金鑰組會顯示在命令列上。在 Visual Studio 方案總管中,以滑鼠右鍵按一下專案,然後按一下 [屬性]。
在左窗格中,展開 [通用屬性],然後按一下 [ 元件]。
在右窗格中,捲動至 [強式名稱] 方塊。
在 [ 強式名稱] 方塊中,按一下 [元件金鑰檔案] 旁的欄位,按一下瀏覽按鈕 (...) ,然後流覽至金鑰檔。
按一下金鑰檔案,按一下 [ 開啟],然後按一下 [ 確定]。
在 Visual Studio 功能表上,按一下 [ 建置],然後選擇 [ 建置方案]。
注意
如果您的配接器元件相依于任何其他元件,請確定這些參考的元件是以強式名稱簽署;否則,您將會收到錯誤。
如果您有來源,您可以使用先前所示的強式名稱重新編譯。 如果參考元件屬於協力廠商,而且您無法確定它會獲得強式名稱,則可以反組譯,然後使用強式名稱重新組合元件。
系統會覆寫原始元件,因此如果您想要保留原始版本,請務必先進行備份複本,再繼續進行下列步驟。
使用 Microsoft Intermediate Language (MSIL) 反組譯程式來反組譯元件:
ILDASM thirdparty.dll /out:thirdparty.il
使用 MSIL 組合器以強式名稱重新組合元件:
ILASM thirdparty.il /dll /key=strongkeyfile.snk
在 GAC 中安裝元件
確認您的配接器已簽署。
開啟 Visual Studio 命令提示字元。
輸入以下命令:
gacutil.exe /if 」 <元件 .dll 檔案> 的路徑」
這會將組件安裝至 GAC,覆寫任何同名的現有組件。
在 Machine.config 中註冊配接器
使用 WCF LOB 配接器 SDK 開發的配接器會以 WCF 系結的形式呈現。 如需詳細資訊,請參閱 Microsoft.ServiceModel.Channels.Common.AdapterBinding。 配接器系結會使用 < 系統內的 < bindingExtensions > 區段向 WCF 註冊。ServiceModel > 和配接器傳輸繫結項目會在系統中使用 < bindingElementExtensions 區 > 段 < 向 WCF 註冊。ServiceModel > 。
您可以使用文字編輯器手動編輯 machine.config 檔案。
手動編輯 machine.config 檔案
編輯位於 Microsoft .NET 組態資料夾中的 machine.config 檔。 若要這樣做,請按一下 [ 開始],按一下 [ 執行],輸入記事本 < Windows 安裝路徑 > \Microsoft.NET\Framework\ < version >\CONFIG\machine.config,然後按一下 [ 確定]。
更新 machine.config 檔案。 如果檔案不包含 system.serviceModel 區段,請在組態檔結尾處新增下列區段,但在結尾根標籤之前。
注意
以配接器的資訊取代 「myAdapterBinding」、版本、文化特性和其他元件特定資訊。
<system.serviceModel> <extensions> <bindingExtensions> <add name="myAdapterBinding" type="Microsoft.Adapters.Samples.Echo.EchoAdapterBindingCollectionElement,EchoAdapter, Version=0.0.0.0, Culture=neutral, PublicKeyToken= fafafafafafafafa" /> </bindingExtensions> <bindingElementExtensions> <add name="echoAdapter" type="Microsoft.Adapters.Samples.Echo.EchoAdapterBindingElementExtension,EchoAdapter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=37f23b4adb996dcf" /> </bindingElementExtensions> </extensions> </system.serviceModel>
或 -
如果您的 machine.config 檔案包含 system.serviceModel 區段,請判斷遺漏哪些元素並加以新增,並以配接器的資訊取代 「MyAdapter」 和其他資訊。
<extensions> <bindingExtensions> <add name="myAdapterBinding" type="Microsoft.Adapters.Samples.Echo.EchoAdapterBindingCollectionElement,EchoAdapter, Version=0.0.0.0, Culture=neutral, PublicKeyToken= fafafafafafafafa" /> </bindingExtensions> <bindingElementExtensions> <add name="echoAdapter" type="Microsoft.Adapters.Samples.Echo.EchoAdapterBindingElementExtension,EchoAdapter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=37f23b4adb996dcf" /> </bindingElementExtensions> </extensions>
關閉並儲存 machine.config 檔案。
您也可以使用 服務組態編輯器 來修改 machine.config 檔案。
使用服務組態編輯器編輯 machine.config 檔案
開啟 [服務組態編輯器]。 如需詳細資訊,請參閱 服務組態編輯器 。
在樹狀檢視窗格中 (標示為 [ 組態) ],展開節點樹狀結構。 按一下 [ 進階 ] 資料夾,按一下 [ 延伸模組 ] 資料夾,然後選取系結延伸模組專案。
建立新的系結延伸模組。 按一下 [ 新增 ] 按鈕以開啟 [延伸模組 組態專案編輯器 ] 對話方塊。 在 [ 組態名稱]中,輸入擴充功能的唯一名稱,例如 MyAdapterExtension。
按一下 [ 類型] 欄位,然後按一下省略號按鈕 (...) 開啟 [ 系結延伸模組類型瀏覽器 ] 對話方塊。
按一下全域組件快取 (GAC) 圖示,以列出 GAC 中的 DLL。
按一下您的配接器元件。
按一下 [ 開啟] 按鈕以選取元件。
在 [ 系結延伸模組類型瀏覽器 ] 對話方塊中,按一下實作系結集合專案的型別名稱。
按一下 [ 開啟] 按鈕以選取類型。
按一下 [確定 ] 關閉 [ 延伸模組組態專案編輯器 ] 對話方塊。
在 [ 系結延伸模組編輯器] 的詳細資料窗格中,確認您的系結延伸模組出現。 在下圖中,已醒目提示 MyAdapterExtension。
關閉 [服務組態編輯器]。