程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WCF入門簡單教程(圖文) VS2010版

WCF入門簡單教程(圖文) VS2010版

編輯:關於.NET

在這個例子中我們將使用VS 2010 創建一個WCF服務,其中會了解

[DataContract] [ServiceContract] 等特性。 

內置的 WCFSVCHost ,並使用“WCF測試客戶端”來測試我們創建的服務。

注意下面的所有類、接口及方法都添加了public 的訪問級別。

一,建立一個WCF服務庫

創建一個WCF服務庫項目

在解決方案中會自動為我們生成兩個類文件“IService1.cs”和“Service1.cs”。

這兩個類文件是兩個WCF示例文件,對我們開發沒有什麼用處,現在我們刪掉這兩個文件。

然後添加Student類

創建服務接口,聲明對外發布的類和方法。

 

實現我們上面聲明的服務接口,實現對Student的添加、刪除和檢索的具體功能。

寫完後記得編譯

 

二,配置服務運行

到目前為至,我們建立好了WCF服務,那我們如何讓WCFSVCHost(WCF服務主機)理解我們編寫的服務類,並能夠運行我們編寫的服務呢。這需要我們在App.Config裡面注冊一下我們的WCF服務。

VS為我們提供了可視化的操作界面。 
在HelloWCF項目中右擊“App.Config”配置文件,在彈出的右鍵菜單中選擇“編輯WCF配置”。

如圖:

 

在此界面中暴露兩個對外的終結點(外部可以訪問到的類或接口),其中下面一個是元數據終結點,用來向外提供服務信息的終結點。

而另一個(即上面的終結點),是向外公布我們編寫的[ServiceContract]的類,但我們可以看到它的Contract還是我們在第一步中刪掉的HelloWCF.IService1這個終結點。

不僅如此,在右側上面的黑字的服務中還依舊是我們在第一步中刪除的WcfServiceLibrary1.Service1服務。這說明雖然在第一步中我們刪除了那兩個自動生成的類文件,但配置文件中仍沒有刪除這兩個類文件的配置信息。

下面我們把它們改變一下。

單擊左側的“服務”-“HelloWCF.Service1”在右側的Name,彈出“服務類型浏覽器”對話框,在此類型中我們找到此WCF服務項目編譯出來的HelloWCF.dll文件,雙擊它就可以出現此服務中的對外公布的服務,點擊選中它單擊確定。

這樣我們就可以把對外公司的服務改變為我們剛編寫的服務了。 
然後,我們展開左側“服務”->“HelloWCF.StudentService”->“終結點”,單擊第一個“空名稱”,從右邊的“終結點屬性”中的Contract中我們可以看到,這裡的Contract仍然用的是HelloWCF.IService1。

我們按照上面的做法,找到此WCF服務項目編譯出來的HelloWCF.dll,雙擊它找到裡面對應的ServiceContract點擊確定就可以了。

在高級目錄樹中,為服務行為配置命名,名字隨便取。

在服務中選中,剛才的行為配置。

 

 

配置完成,Ctrl+S 保存下。

 

配置後的 App.Config

 

三,測試WCF

在Visual Studio 中為我們提供了測試WCF的工具,按F5啟動WCF會出現兩個東西 
    一個是在右下角的托盤圖標中會出現WCFSVCHost(WCF服務主機),它為我們在開發時候提供了一個運行WCF的服務器,用來為測試客戶端提供WCF服務。

另一個是“WCF測試客戶端”

“測試客戶端”從WcfSVCHost中取得WCF服務的元數據,解析為左側的“服務結構樹”,從這裡面我們可以看到此WCF服務為我們提供了一個服務契約“IStudentService”,此服務契約中對外提供了三個可調用的方法。

點擊AddStudent()  方法 輸入參數 點擊 調用

點擊GetAllStudents() ,在Response 中我們看到了返回的結果。

 

在本例中我們看到,WCF作為面向對象和面向服務的橋梁 ,提供了非常方便的工具,無論是開發,配置還是測試,為我們可以快速的上手並提供面向服務的應用。你可以把WCF類庫當作普通類庫去做,但他提供了更強大的面向服務的特性。

WCF的理論學習復雜程度遠大於其的使用難度,而如果你是一名初學者,千萬不要先陷入其復雜的理論學習中,花費很多的時間,而且看得暈頭轉向,最好先去實踐,先去用,這樣再去看WCF的深入概念和技術才會在大腦裡面形成更好理解的印象和對應,這也是我一直在為初學者所傳遞的想法,不去學院派說理論,你認為呢。

 

下面鏈接是wcf的錄像

 http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/Series/wcf.aspx

 有興趣的童鞋,可以一起相互學習。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved