1. 首頁
  2. 資料庫作業系統

如何SQL資料庫操作在WCF中的應用

如何SQL資料庫操作在WCF中的應用

1 WCF程式設計模型

Windows Commuunication Foundation(WCF)[1]是統一的程式設計模型,用來為微軟平臺編寫分散式應用,它涵蓋了之前出現的多種技術,是面向服務(SOA)思想的一個具體應用。WCF透過SOAP(Simple Object Access Protocal 簡單物件訪問協議)[2]能夠方便訪問分佈在異構網路中的不同應用。WCF實際上構建了一個框架,這個框架實現了在互聯絡統中各個Application之間通訊。

基於WCF的開發主要分為服務端和客戶端應用兩部分。服務端包括契約的定義、實現和寄宿三方面;客戶端包括客戶端代理的生成和服務的實現。構建一個典型的解決方案包括4個專案[3]:①Contracts:定義服務契約(Service Contract),引用System.ServiceMode程式集(WCF框架的絕大部分實現和API定義在該程式集中);說明要實現什麼服務;②Services:提供WCF服務的實現。實現定義在Contracts中相應的服務契約,說明如何實現Contracts定義的服務;③Hosting:實現對定義在Services專案中服務的寄宿,該專案須同時引用Contracts和Services兩個專案和System.ServiceMode程式集,啟動和關閉服務、例項化Service類並提供服務的訪問地址和通訊方式;④Client:生成終結點、繫結、契約相關服務代理類,透過代理類完成最終服務。

2 WCF中SQL Server常用操作

WCF中的程式語言是C#,C#對資料庫的操作基於ADO.NET物件模型,該物件模型包括資料提供程式和DataSet元件,資料提供程式有4個,分別是:Connection物件、Command物件、DataAdapter物件和DataReader物件,WCF主要使用這幾個物件對資料庫進行操作。

2.1 資料庫連線

本例中定義了兩個方法,分別實現資料庫的連線和關閉。

2.2 Services資料庫查詢、插入、更新和刪除

在Contracts中定義了一系列和資料庫操作相關的介面,在Services中實現了資料庫的.開啟和關閉服務,對資料的增刪改查也是在Services中實現的。資料的增刪改查操作透過DML(Data Manipulation Language)語句實現,DML包括4種基本操作,即INSERT、UPDATE、SELECT和DELETE,分別對應插入、更新、查詢和刪除操作。

(5)HOSTING託管

本例透過IIS託管相應服務。

3 Client資料顯示

3.1 生成客戶端代理

WCF生成客戶端代理的方法有多種:硬編碼代理類、透過SvcUtil.exe和新增服務引用。本文透過新增服務引用生成了ServiceReference1.ServiceClient代理類,透過代理類的物件可以呼叫Services中定義的服務。

3.2 客戶端查詢資料實現

(1)登陸實現

以上程式碼實現了整表資料查詢,並繫結到資料控制元件GridView中顯示。

4 結語

本文給出了一個基於WCF的資料庫訪問完整應用,在WCF架構下,透過ADO.NET常用資料庫元件對SQL Server資料庫進行訪問,實現增刪改查相關業務,並在客戶端完成呼叫,實現不同應用。

WCF架構依次分為:客戶層→服務層(業務邏輯層、資料訪問層)。本文例子不足之處是業務邏輯層和資料訪問層沒有分離,今後的改進中可以更加清晰這兩層關係。