共用方式為


教學課程 1:開發 Echo 配接器

在本教學課程中,您將使用 WCF LOB 配接器 SDK 來開發功能配接器。 配接器會模擬虛構企業營運系統的作業,以說明 WCF LOB 配接器 SDK 的許多重要功能,包括:

  • 同步輸入

  • 同步輸出

  • 中繼資料流覽

  • 中繼資料搜尋

  • 中繼資料解析

    本節包含回應配接器支援的各種功能。 它們是訊息交換、作業中繼資料、連接屬性和配接器屬性。

訊息交換模式

回應配接器支援下列兩種訊息交換模式:

  • 同步輸出,也就是取用用戶端會透過配接器將 WCF 要求訊息傳送至目標系統,然後等候透過配接器從目標系統接收 WCF 回應訊息。 這是介面卡最常見的訊息交換模式。 若要支援同步輸出,請實作 Microsoft.ServiceModel.Channels.Common.IOutboundHandler 介面。

  • 同步輸入,也就是取用用戶端會透過配接器接聽目標系統的資料或事件。 若要支援同步輸入,請實作 Microsoft.ServiceModel.Channels.Common.IInboundHandler 介面。

    如需訊息交換模式的詳細資訊,請參閱 架構概觀

注意

配接器開發精靈會在 UI 中將訊息交換模式顯示為數據流。

中繼資料支援

回應配接器支援中繼資料流覽、搜尋和解析功能。 一般而言,流覽和搜尋會從 LOB 系統擷取作業。 針對回應配接器,LOB 系統是一組預先定義的作業,如下所示:

EchoMainCategory  
        Echo/EchoStrings  
        Echo/EchoGreetings  
        Echo/EchoCustomGreetingFromFile  
        Echo/OnReceiveEcho  

以下是每個作業的定義:

名稱 作業定義 說明 方向
EchoMainCategory 類別 分類作業。 N/A
Echo/EchoStrings string[] EchoStrings (字串資料) 對呼叫用戶端回應傳入字串的指定次數。 傳出
Echo/EchoGreetings Greeting[] EchoGreetings (Greeting 問候語) 將傳入的 Greeting 物件回應呼叫用戶端的指定次數。 傳出
Echo/EchoCustomGreetingFromFile CustomGreeting EchoCustomGreetingFromFile (Uri greetingInstancePath) 從檔案讀取其實例,以回應 Greeting 物件。 Greeting 物件的中繼資料是從預先定義的 XSD 檔案取得。 傳出
Echo/OnReceiveecho void OnReceiveEcho (Uri 路徑,長內容) 回應在指定資料夾中卸載之檔案的位置和長度。 連入

配接器屬性

配接器會公開下列配接器屬性。

名稱 類別 資料類型 描述
Count 其他 System.Int32 用來將指定的次數回應給呼叫用戶端的輸入。

預設值 = 5
EnableConnectionPooling 其他 System.Boolean 用來啟用或停用介面卡的連接共用。

Default = true,這表示連線共用是在 WCF LOB 配接器 SDK 的執行時間引擎中啟用。
InboundFileFilter 連入 System.String 僅用於輸入案例,且由 FileSystemWatcher 用來監視副檔名的檔案。

Default=*.txt
InboundFileSystemWatcherFolder 連入 System.String 用來設定將卸載檔案的資料夾,讓 FileSystemWatcher 向配接器發出通知。

預設值 = c:\inbound\watcher。

Connection Properties

回應配接器會公開下列連接屬性。

名稱 資料類型 描述
應用程式 System.String LOB 系統內的應用程式名稱。 此屬性僅供說明之用。 回應配接器不包含任何 LOB 系統。

Default = lobapplication
EnableAuthentication System.Boolean 若為 true,配接器預期用戶端認證內使用者名稱欄位中的值。

預設值 = false
Hostname (主機名稱) System.String LOB 系統所在的伺服器名稱。 此屬性僅供說明之用。 回應配接器不包含任何 LOB 系統。

Default = lobhostname

介面實作

WCF LOB 配接器 SDK 會定義必須實作的類別和介面集合,以支援配接器的特定功能。 下表描述這些類別和介面、其描述,以及實作它們的時機。

類別/介面 實作時機 描述
Microsoft.ServiceModel.Channels.Common.IConnection 如果您需要定義與目標系統的連線。 定義與目標系統的連線。
Microsoft.ServiceModel.Channels.Common.IConnectionFactory 如果您需要建立與目標系統的連線。 建立與目標系統的連線。
Microsoft.ServiceModel.Channels.Common.ConnectionUri 如果您需要管理連線 URI。

如果您需要在 [新增配接器服務參考外掛程式] 工具內分類連接屬性。
管理目標系統的連線 URI。
Microsoft.ServiceModel.Channels.Common.IMetadataResolverHandler 您的配接器必須支援中繼資料解析功能。 解析作業和類型中繼資料。
Microsoft.ServiceModel.Channels.Common.IMetadataSearchHandler 如果您的配接器支援中繼資料搜尋功能。 搜尋目標系統內的作業。
Microsoft.ServiceModel.Channels.Common.IMetadataBrowseHandler 您的配接器必須支援流覽功能 流覽目標系統內的作業。
Microsoft.ServiceModel.Channels.Common.IOutboundHandler 如果您的配接器通常需要支援輸出功能。 將傳入 WCF 要求訊息轉換成目標系統訊息、叫用目標系統特定函式,然後將回應轉換成傳出 WCF 回應訊息。
Microsoft.ServiceModel.Channels.Common.IInboundHandler 如果您的配接器支援輸入功能。 接聽目標系統的資料和/或事件。

若要簡化配接器開發,請使用配接器開發精靈來產生配接器專案,這會建立一組專為配接器功能量身打造的衍生類別。

若要透過 [新增配接器服務參考外掛程式] 和 [取用配接器服務增益集] 工具自訂配接器和連線屬性,請修改配接器開發精靈所產生的下列檔案。

  • {Projectname}BindingElement.cs

  • {Projectname}BindingElementExtensionElement.cs

  • {Projectname}ConnectionUri.cs

    如需如何執行這項操作的詳細資訊,請參閱 步驟 2:分類配接器和連線屬性

另請參閱

瞭解 WCF LOB 配接器 SDK 的教學課程