如何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),引用iceMode程序集(WCF框架的絕大部分實現和API定義在該程序集中);說明要實現什麼服務;②Services:提供WCF服務的實現。實現定義在Contracts中相應的服務契約,說明如何實現Contracts定義的服務;③Hosting:實現對定義在Services項目中服務的寄宿,該項目須同時引用Contracts和Services兩個項目和iceMode程序集,啓動和關閉服務、實例化Service類並提供服務的訪問地址和通信方式;④Client:生成終結點、綁定、契約相關服務代理類,通過代理類完成最終服務。
2 WCF中SQL Server常用操作
WCF中的編程語言是C#,C#對數據庫的操作基於對象模型,該對象模型包括數據提供程序和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生成客戶端代理的方法有多種:硬編碼代理類、通過和添加服務引用。本文通過添加服務引用生成了iceClient代理類,通過代理類的對象可以調用Services中定義的服務。
3.2 客戶端查詢數據實現
(1)登陸實現
以上代碼實現了整表數據查詢,並綁定到數據控件GridView中顯示。
4 結語
本文給出了一個基於WCF的數據庫訪問完整應用,在WCF架構下,通過常用數據庫組件對SQL Server數據庫進行訪問,實現增刪改查相關業務,並在客戶端完成調用,實現不同應用。
WCF架構依次分爲:客戶層→服務層(業務邏輯層、數據訪問層)。本文例子不足之處是業務邏輯層和數據訪問層沒有分離,今後的改進中可以更加清晰這兩層關係。
-
系統工程可行性分析報告2017
分析報告是一種比較常用的文體。有市場分析報告、行業分析報告、經濟形勢分析報告、社會問題分析報告等等。下面是小編整理的系統工程可行性分析報告,歡迎來參考!1、引言1、1編寫目的隨着房地產的發展,房價也隨之越來越高;且隨着經濟的發展,外出務工的人員的流動性...
-
數據庫的學習心得
通過學習這門課,我們三個實現了一系列項目功能。我們第一次通過大家的努力完成這個項目,充分體現了我們的團隊精神。通過這個項目我們學到了很多,並把這些東西付諸實踐,從而獲得成功。當然,雖然我們的項目有很多缺陷,比如屏幕效果不夠成熟,功能不夠多樣,實際操作時安全...
-
有關安裝Linux與Oracle數據庫步驟精講
一、安裝LINUX我安裝的是Oracle公司編譯的LINUX4.4。1、如果這臺服務器最重要的作用是安裝Oracle,則直接給Oracle分配文件系統。如:/boot100M,/15G,/swap2G,/opt20G(將來ORACLE的程序將放在此目錄下,/opt相當於WINDOWS的C:/ProgramFile文件夾),/OracleData20G(用來放Orac...
-
列車車輛制動系統圖解
列車制動指人爲地制止列車的運動,包括使它減速、不加速或停止運行。以下是小編爲大家精心整理的列車車輛制動系統圖解,歡迎大家閱讀。原理由制動裝置產生的與列車運行方向相反的外力,稱爲“制動力”。這是人爲的阻力。由於行車安全的需要,制動力比在列車運行中由自...