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埠開始監聽了。值得注意的是pid是4,這是系統程序而不是我們自己的程序,這說明wcf程式對外提供http服務時,是借用了系統功能(http.sys)。tcp [::]:8080 [::]:0 listening 4
此時如果我們用瀏覽器訪問一下 http://localhost:8080/wcf,不報錯,但是會提示「當前已禁用此服務的元資料發布」,這是由於預設不允許以http get方式獲取服務的wsdl,我們不用管它,不影響後面的使用,以後的章節中我們再來看這個問題。
2、客戶端
再建立乙個控制台應用程式作為client,把server中的介面idata拷過來,因為這是服務契約。
然後寫**,來呼叫server端發布的sayhello方法:
using system;編譯執行,螢幕應能正常列印出「hello wcf.」。using system.servicemodel;
using system.servicemodel.channels;
namespace client }
本文出自 「汪汪愛楊楊」 部落格,請務必保留此出處
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等,並以一種統一的程式設計...