WCF LOB 配接器 SDK 的主要元件
使用 WCF LOB 配接器 SDK 開發配接器需要使用下列許多基本元件:
連線元件 ,可協助建立和維護與企業營運系統的連線。
處理常式元件 會定義和實作用來處理輸入和輸出訊息和中繼資料作業的程式。
中繼資料元件 會定義及操作用來與企業營運系統通訊的中繼資料。
自訂群組件 提供交易、可靠傳訊和安全性的支援。
核心元件 將所有元件系結在一起,並確保與 WCF 緊密整合。
這些元件是本主題的重點。
連接元件
連線元件包括介面和類別,可協助定義和控制連線的存留期,以及管理統一資源識別項 (URI) 查詢屬性和使用者屬性。 連接元件包括下表所述的介面和類別。
連接元件 | 必要項? | Description |
---|---|---|
Microsoft.ServiceModel.Channels.Common.ConnectionUri |
必要 | 基類,可針對將取用介面卡的使用者提供自訂 URI 建置體驗。 |
Microsoft.ServiceModel.Channels.Common.IConnection |
必要 | 定義連接行為的介面。 開發人員必須實作這個介面,才能定義與目標系統的連線。 |
Microsoft.ServiceModel.Channels.Common.IConnectionFactory |
必要 | 連接處理站的基類。 開發人員會在定義目標系統的連線處理站時進行子類別。 |
Microsoft.ServiceModel.Channels.Common.ConnectionPoolSettings |
選擇性 | 包含控制連接集區行為的設定。 開發人員可能會想要根據目標系統的行為來微調這些值。 |
Microsoft.ServiceModel.Channels.Common.ConnectionManagerSettings |
選擇性 | 包含靜態設定,可控制連接集區的行為。 開發人員可能會想要針對其目標系統調整這些值。 |
不論所選的精靈選項為何,WCF LOB 配接器開發精靈都會建立 和 Microsoft.ServiceModel.Channels.Common.IConnectionFactory
的實 Microsoft.ServiceModel.Channels.Common.IConnection``Microsoft.ServiceModel.Channels.Common.ConnectionUri
作。 這些實作將包含支援精靈中所選擇選項的程式碼, (包括連線 URI 中的連線屬性) 但配接器開發人員必須提供 Open、Close 和其他 方法 Microsoft.ServiceModel.Channels.Common.ConnectionUri
的 Microsoft.ServiceModel.Channels.Common.IConnection
實作。
處理常式元件
處理常式元件支援不同的訊息交換模式,包括輸入、輸出、非同步輸入、非同步輸出,以及中繼資料搜尋、流覽和解析作業。 處理常式元件包含下表所述的介面和類別。
處理常式元件 | 必要? | 描述 |
---|---|---|
Microsoft.ServiceModel.Channels.Common.IAsyncInboundHandler |
選擇性 | 用來從目標系統非同步接收訊息。 非同步支援是選擇性的。 |
Microsoft.ServiceModel.Channels.Common.IAsyncOutboundHandler |
選擇性 | 用來以非同步方式從目標系統傳送訊息。 非同步支援是選擇性的。 |
Microsoft.ServiceModel.Channels.Common.IInboundHandler |
選擇性 | 用來從目標系統接收訊息。 如果配接器需要接聽來自目標系統的訊息,開發人員應該實作此處理程式。 |
Microsoft.ServiceModel.Channels.Common.IOutboundHandler |
選擇性 | 提供將訊息傳送至目標系統的支援。 雖然是選擇性的,但要求-回應訊息模式是必要的。 大部分的基本通訊技術都是以此模式為基礎,包括 HTTP、RPC 和其他許多技術。 |
Microsoft.ServiceModel.Channels.Common.IMetadataBrowseHandler |
選擇性 | 當配接器支援中繼資料流覽時,就會實作此處理程式。 雖然是選擇性的,開發人員通常會實作此處理程式,以提供目標系統中可用的作業清單。 |
Microsoft.ServiceModel.Channels.Common.IMetadataResolverHandler |
選擇性 | 當配接器從代表系統特定邏輯和資料類型的目標系統擷取和傳回中繼資料時,必須實作此處理程式。 中繼資料可以從實際的目標系統擷取,也可以建立它來代表目標系統的功能。 例如,FTP 配接器可以建立 GET 和 PUT 作業。 雖然並非必要,但開發人員通常會實作此處理程式,以提供特定作業的相關資訊。 |
Microsoft.ServiceModel.Channels.Common.IMetadataSearchHandler |
選擇性 | 當配接器支援中繼資料搜尋時,就會實作此處理程式。 |
配接器開發精靈會根據開發人員所做的選擇,建立 、 Microsoft.ServiceModel.Channels.Common.IOutboundHandler
Microsoft.ServiceModel.Channels.Common.IInboundHandler
和 元資料處理程式的實 Microsoft.ServiceModel.Channels.Common.IAsyncOutboundHandler
作。 提供支援程式碼;不過,配接器開發人員必須提供程式碼來啟動和停止輸入接聽程式和其他由 TODO 批註標示的程式碼。
中繼資料元件
中繼資料元件提供處理中繼資料要求的支援,以及描述目標應用程式中的類型和作業。 處理常式元件會控制中繼資料要求的處理方式。 中繼資料元件描述目標系統所公開的資料類型和作業。
中繼資料元件的設計目的是要保存兩種類型的中繼資料資訊:類型中繼資料和作業中繼資料。
類型中繼資料 描述目標系統中可用的資料類型,並包含類型的名稱、其陣列屬性是陣列,以及它是簡單的 XSD 架構類型還是複雜類型。
作業中繼資料 描述目標系統中可用的作業。 屬性包括傳回類型、參數清單和作業名稱。
配接器內的中繼資料支援是選擇性的,但建議使用。 使用 WCF LOB 配接器 SDK 建置配接器與實作功能做為 WCF 服務的優點之一,就是能夠公開並系結至一組動態作業。
注意
如果您需要公開一組有限的靜態方法,您應該考慮使用 WCF。
下表說明可用來處理、描述及處理中繼資料的元件。
中繼資料元件 | Description |
---|---|
Microsoft.ServiceModel.Channels.Common.ComplexQualifiedType |
類別,表示配接器的複雜限定型別。 例如,如果目標系統是關係資料庫、資料表、資料列或使用者定義過程傳回類型,可能全都是自訂限定型別。 |
Microsoft.ServiceModel.Channels.Common.OperationMetadata |
表示目標系統的作業中繼資料的基類。 例如,您可以子類別 OperationMetadata,在以關係資料庫為目標的配接器中包含預存程式的相關資訊。 |
Microsoft.ServiceModel.Channels.Common.OperationMetadataTraceRecord |
提供將作業中繼資料擷取至追蹤檔案的方法。 追蹤會收集唯一識別碼、上次存取時間、時間戳記、顯示名稱、原始名稱、參數和其他詳細資料等資訊。 |
Microsoft.ServiceModel.Channels.Common.ParameterizedOperationMetadata |
提供定義作業屬性的方式,例如參數和傳回型別。 |
Microsoft.ServiceModel.Channels.Common.OperationParameter |
描述用來在目標系統上叫用作業的參數。 屬性包括名稱、原始名稱、參數方向,以及指出參數是否空白的旗標。 |
Microsoft.ServiceModel.Channels.Common.OperationParameterDirection |
列舉型別,描述作業之參數的方向。 參數只能輸入 (In) 、輸出 (Out) ,或雙向 (InOut) 。 |
Microsoft.ServiceModel.Channels.Common.OperationResult |
表示作業結果。 對於傳回 void 或 null 和字串、整數或其他值的作業,可以是 OperationResult.Empty,視作業而定。 |
Microsoft.ServiceModel.Channels.Common.QualifiedType |
設計為限定型別屬性的基類,並用來描述目標系統類型中繼資料的屬性。 |
Microsoft.ServiceModel.Channels.Common.QualifiedTypeContainer |
提供一組相關限定類型的容器。 |
Microsoft.ServiceModel.Channels.Common.SimpleQualifiedType |
描述當該類型直接對應至 W3C XSD 架構類型時,目標系統類型中繼資料的屬性。 如需允許的類型清單,請參閱 XmlTypeCode 列舉。 |
Microsoft.ServiceModel.Channels.Common.TypeMember |
提供在結構化類型中繼資料中定義簡單或複雜資料成員的方法。 |
Microsoft.ServiceModel.Channels.Common.TypeMetadata |
表示目標系統的型別中繼資料的基類。 |
Microsoft.ServiceModel.Channels.Common.StructuredTypeMetadata |
提供定義包含複雜和/或簡單類型成員之資料結構的方法。 |
Microsoft.ServiceModel.Channels.Common.TypeMetadataCollection |
提供一組相關類型中繼資料的容器。 |
Microsoft.ServiceModel.Channels.Common.TypeMetadataTraceRecord |
提供將類型中繼資料擷取至追蹤檔案的方式。 追蹤會收集唯一識別碼、上次存取時間、時間戳記和其他詳細資料等資訊。 |
自訂元件
自訂群組件支援高度相依于目標系統的交易、安全性、可靠傳訊和其他功能。 身為使用 WCF LOB 配接器 SDK 的配接器開發人員,您必須瞭解目標系統的功能,並判斷您想要支援它們的程度。
核心元件
核心元件提供一組基類和介面,可讓介面卡插入 WCF。 下表說明核心元件。
核心元件 | 必要? | Description |
---|---|---|
Microsoft.ServiceModel.Channels.Common.Adapter |
必要 | 使用 WCF LOB 配接器 SDK 所撰寫之配接器的基類。 它負責與 WCF 通道架構互動 |
Microsoft.ServiceModel.Channels.Common.AdapterBinding |
必要 | 類別,其中包含控制配接器的各種設定,包括連接集區 () Microsoft.ServiceModel.Channels.Common.ConnectionPoolSettings 、快取 Microsoft.ServiceModel.Channels.Common.CacheSettings () 、中繼資料 Microsoft.ServiceModel.Channels.Common.MetadataSettings () ,以及傳訊 (Microsoft.ServiceModel.Channels.Common.MessagingSettings ) 。 |
自訂配接器會透過 WCF 系結公開。 如需詳細資訊,請參閱 的 https://go.microsoft.com/fwlink/?LinkId=100308 WCF 檔。
配接器開發精靈會建立 、 Microsoft.ServiceModel.Channels.Common.AdapterBinding
System.ServiceModel.Configuration.StandardBindingElement
和 System.ServiceModel.Configuration.StandardBindingCollectionElement
的 Microsoft.ServiceModel.Channels.Common.Adapter
實作,以將配接器系結公開至 WCF 組態系統。 配接器開發精靈也會產生 的實作 System.ServiceModel.Configuration.BindingElementExtensionElement
,以便 Microsoft.ServiceModel.Channels.Common.Adapter
從電腦或應用程式組態檔使用 WCF 自訂系結。
如需 StandardBindingElement、StandardBindingCollectionElement 和 BindingElementExtensionElement 的詳細資訊,請參閱 WCF 檔。
如需使用 WCF LOB 配接器 SDK 撰寫之配接器的詳細資訊,請參閱 使用 WCF LOB配接器 SDK 部署配接器。