C# WCF簡單入門圖文教程(VS2010版)
在這個例子中我們將使用VS2010創(chuàng)建一個WCF服務(wù),其中會了解[DataContract][ServiceContract]等特性。
內(nèi)置的WCFSVCHost,并使用“WCF測試客戶端”來測試我們創(chuàng)建的服務(wù)。
注意下面的所有類、接口及方法都添加了public的訪問級別。
一、建立一個WCF服務(wù)庫
創(chuàng)建一個WCF服務(wù)庫項目
在解決方案中會自動為我們生成兩個類文件“IService1.cs”和“Service1.cs”。
這兩個類文件是兩個WCF示例文件,對我們開發(fā)沒有什么用處,現(xiàn)在我們刪掉這兩個文件。
然后添加Student類
創(chuàng)建服務(wù)接口,聲明對外發(fā)布的類和方法。
實現(xiàn)我們上面聲明的服務(wù)接口,實現(xiàn)對Student的添加、刪除和檢索的具體功能。
寫完后記得編譯
二、配置服務(wù)運行
到目前為至,我們建立好了WCF服務(wù),那我們?nèi)绾巫學(xué)CFSVCHost(WCF服務(wù)主機)理解我們編寫的服務(wù)類,并能夠運行我們編寫的服務(wù)呢。這需要我們在App.Config里面注冊一下我們的WCF服務(wù)。
VS為我們提供了可視化的操作界面。
在HelloWCF項目中右擊“App.Config”配置文件,在彈出的右鍵菜單中選擇“編輯WCF配置”。
如圖:
在此界面中暴露兩個對外的終結(jié)點(外部可以訪問到的類或接口),其中下面一個是元數(shù)據(jù)終結(jié)點,用來向外提供服務(wù)信息的終結(jié)點。
而另一個(即上面的終結(jié)點),是向外公布我們編寫的[ServiceContract]的類,但我們可以看到它的Contract還是我們在第一步中刪掉的HelloWCF.IService1這個終結(jié)點。
不僅如此,在右側(cè)上面的黑字的服務(wù)中還依舊是我們在第一步中刪除的WcfServiceLibrary1.Service1服務(wù)。這說明雖然在第一步中我們刪除了那兩個自動生成的類文件,但配置文件中仍沒有刪除這兩個類文件的配置信息。
下面我們把它們改變一下。
單擊左側(cè)的“服務(wù)”-“HelloWCF.Service1”在右側(cè)的Name,彈出“服務(wù)類型瀏覽器”對話框,在此類型中我們找到此WCF服務(wù)項目編譯出來的HelloWCF.dll文件,雙擊它就可以出現(xiàn)此服務(wù)中的對外公布的服務(wù),點擊選中它單擊確定。
這樣我們就可以把對外公司的服務(wù)改變?yōu)槲覀儎偩帉懙姆?wù)了。
然后,我們展開左側(cè)“服務(wù)”->“HelloWCF.StudentService”->“終結(jié)點”,單擊第一個“空名稱”,從右邊的“終結(jié)點屬性”中的Contract中我們可以看到,這里的Contract仍然用的是HelloWCF.IService1。
我們按照上面的做法,找到此WCF服務(wù)項目編譯出來的HelloWCF.dll,雙擊它找到里面對應(yīng)的ServiceContract點擊確定就可以了。
在高級目錄樹中,為服務(wù)行為配置命名,名字隨便取。
在服務(wù)中選中,剛才的行為配置。
配置完成,Ctrl+S 保存下。
配置后的App.Config
三、測試WCF
在VisualStudio中為我們提供了測試WCF的工具,按F5啟動WCF會出現(xiàn)兩個東西
一個是在右下角的托盤圖標中會出現(xiàn)WCFSVCHost(WCF服務(wù)主機),它為我們在開發(fā)時候提供了一個運行WCF的服務(wù)器,用來為測試客戶端提供WCF服務(wù)。
另一個是“WCF測試客戶端”
“測試客戶端”從WcfSVCHost中取得WCF服務(wù)的元數(shù)據(jù),解析為左側(cè)的“服務(wù)結(jié)構(gòu)樹”,從這里面我們可以看到此WCF服務(wù)為我們提供了一個服務(wù)契約“IStudentService”,此服務(wù)契約中對外提供了三個可調(diào)用的方法。
點擊AddStudent()方法輸入?yún)?shù)點擊調(diào)用
點擊GetAllStudents(),在Response中我們看到了返回的結(jié)果。
在本例中我們看到,WCF作為面向?qū)ο蠛兔嫦蚍?wù)的橋梁,提供了非常方便的工具,無論是開發(fā),配置還是測試,為我們可以快速的上手并提供面向服務(wù)的應(yīng)用。你可以把WCF類庫當(dāng)作普通類庫去做,但他提供了更強大的面向服務(wù)的特性。
WCF的理論學(xué)習(xí)復(fù)雜程度遠大于其的使用難度,而如果你是一名初學(xué)者,千萬不要先陷入其復(fù)雜的理論學(xué)習(xí)中,花費很多的時間,而且看得暈頭轉(zhuǎn)向,最好先去實踐,先去用,這樣再去看WCF的深入概念和技術(shù)才會在大腦里面形成更好理解的印象和對應(yīng),你認為呢。
以上就是WCF簡單入門教程,希望對大家的學(xué)習(xí)有所幫助。
上一篇:C#在WinForm中使用WebKit傳遞js對象實現(xiàn)與網(wǎng)頁交互的方法
欄 目:C#教程
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/6641.html
您可能感興趣的文章
- 01-10C#實現(xiàn)簡單的Login窗口實例
- 01-10Winform消除button按下出現(xiàn)的虛線簡單實現(xiàn)方法
- 01-10winform簡單緩存類實例
- 01-10C#一個簡單的定時小程序?qū)崿F(xiàn)代碼
- 01-10C#圓角窗體簡單實現(xiàn)方法
- 01-10C#使用Mutex簡單實現(xiàn)程序單實例運行的方法
- 01-10C#實現(xiàn)簡單合并word文檔的方法
- 01-10C#簡單實現(xiàn)子窗體向父窗體傳值的方法
- 01-10基于C#實現(xiàn)簡單離線注冊碼生成與驗證
- 01-10C#編程自學(xué)之開篇介紹


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實例總結(jié)
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 04-02jquery與jsp,用jquery
- 01-11ajax實現(xiàn)頁面的局部加載