WCF簡單教程 1 入門

2021-06-07 05:45:22 字數 2894 閱讀 8686

wcf是dotnet體系中很重要的一項技術,但是組內很多組員通過書籍自學的時候感覺涉及面太廣、配置檔案太複雜,新名詞太多、抓不到頭緒,有感於此,決定進行一次組內技術培訓,順便把培訓講義整理到blog上來。不求大而全,而是要讓初學者快速入門,因此想入例項入手,並刻意隱藏一些初期用不到的內容,以降低入門門檻。有任何錯誤歡迎指正。

----------------------- 分隔線 -----------------------

第一篇:入門,構建第乙個wcf程式

1、服務端

建立乙個控制台應用程式作為server,新建乙個介面idata作為服務契約。這個契約介面一會兒也要放到client端,這樣雙方才能遵循相同的標準。別忘了新增對system.servicemodel的引用。

using system; 

using system.servicemodel; 

using system.text; 

namespace server  } 

針對這個介面建立實現類,這個類才是真正幹活的,工作在服務端,不出現在客戶端:

萬事具備,只剩最後一步了,將服務發布出去:

using system; 

using system.servicemodel; 

namespace server  } 

} } 

有人可能會問服務發布到哪去了?沒指定位址呀?這是乙個初學者容易搞不明白的地方。

編譯執行,螢幕顯示service running ... 就是正常跑起來了,此時如果用命令列 netstat -ano | findstr "8080" 看一下,應該有如下輸出:

tcp    0.0.0.0:8080         0.0.0.0:0          listening      4 

tcp    [::]:8080            [::]:0             listening      4 

表示我們的程式已經在tcp 8080埠開始監聽了。值得注意的是pid是4,這是系統程序而不是我們自己的程序,這說明wcf程式對外提供http服務時,是借用了系統功能(http.sys)。

此時如果我們用瀏覽器訪問一下 http://localhost:8080/wcf,不報錯,但是會提示「當前已禁用此服務的元資料發布」,這是由於預設不允許以http get方式獲取服務的wsdl,我們不用管它,不影響後面的使用,以後的章節中我們再來看這個問題。

2、客戶端

再建立乙個控制台應用程式作為client,把server中的介面idata拷過來,因為這是服務契約。

然後寫**,來呼叫server端發布的sayhello方法:

using system; 

using system.servicemodel; 

using system.servicemodel.channels; 

namespace client  } 

編譯執行,螢幕應能正常列印出「hello wcf.」。

本文出自 「汪汪愛楊楊」 部落格,請務必保留此出處

WCF簡單教程 1 入門

wcf是dotnet體系中很重要的一項技術,但是組內很多組員通過書籍自學的時候感覺涉及面太廣 配置檔案太複雜,新名詞太多 抓不到頭緒,有感於此,決定進行一次組內技術培訓,順便把培訓講義整理到blog上來。不求大而全,而是要讓初學者快速入門,因此想入例項入手,並刻意隱藏一些初期用不到的內容,以降低入門...

WCF入門教程1 WCF簡要介紹

什麼是wcfwindowscommunication foundation wcf 是由微軟 開發的一系列支援資料通訊的應用程式框架,可以翻譯為windows 通訊開發平台。整合了原有的windows通訊的 net remoting,webservice,socket的機制,並融合有http 和ft...

WCF入門教程 WCF基礎知識問與答

3 為什麼我們要選用wcf?在windows平台下,尤其是在.net平台下開發面向服務的應用程式,或者開發分布式系統,最佳選擇就是wcf。為什麼呢?原因就在於wcf涵蓋了之前微軟推出的所有用於分布式開發的技術,包括remoting web services wse msmq等,並以一種統一的程式設計...