您好,登錄后才能下訂單哦!
這篇文章主要介紹WCF如何創建簡單應用程序,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
WCF, 英文全稱(windows Communication Foundation) , 即為windows通訊平臺。
windows想到這里大家都知道了 , WCF也正是由微軟公司推出的這個一個玩意, 基于SOA的一個分布式應用程序框架和編程模型
(WCF 編程模型的目標實現也就是 :WCF服務、WCF客戶端)
描述: WCF的特點
1. 支持多種消息模式 (單向模式、請求/回復、雙工)
2. 支持多種傳輸協議和編碼 (Http,tcp ,msmq等。)
3. 支持事務,持久化。
4. 統一,安全,可擴展。
協定: 確定消息格式, 服務類型及安全策略和網絡協議。
服務運行時: 處理服務運行中發生的各種行為
消息傳遞: 描述消息的數據格式和交換模型。
激活和承載: 用于發布WCF服務的寄主。
打開Visual Studio 新建一個項目, 選擇WCF 服務庫創建并命名為 HelloWCF。
可以看到, 在創建該項目時, 系統默認為我們添加了一個Iservice1(接口) 和一個 service1(實現類)。
在Iservice1中, 可以看到該接口定義了 ServiceContract 特性, 接口方法中定義了 OperationContract 特性
這兩類特性則歸屬于WCF中的服務協定。
*特性:
【
用來聲明服務端定義的所有協定。 在C#中,所有特性類都是從Attribute類繼承而來的,而且其名稱都有Attribute后綴。用C#編寫代碼時,
一律用中括號來聲明特性類,在ServiceContract定義中, 會發現后面跟著Attribute后綴,聲明時省略Attribute后綴,這是建議的用法。
特性類的用途是為緊跟在它后面的目標元素提供設計行為。比如對某個字段聲明了某個特性,則該特性的目標元素就是這個字段。目標元素可以是
程序集、類、構造函數、委托、枚舉、事件、字段、接口、方法、可移植模塊、參數、屬性(Property)、返回值以及結構等。另外,目標元素還可以是其他特性類。】
在CompositeType類中, 可以看到該類定義了DataContract特性, 與屬性中定義了DataMember 特性 ,
而這類則屬于WCF中的數據消息協定。
在我們的實際開發過程中, 需要用于數據交互的實體類, 則必須聲明類及成員的數據協定, 聲明的意義則表示該實體可以序列化。
注: 在WCF定義了DataMember的類成員, 無論是Public、Private, 它都可以被訪問。
打開service1 類文件, 集成于Iservice1 的接口并且有具體實現, 在我們測試中, 則是利用客戶端進行訪問進行演示, 而下面,
要講的技術一個關于終結點的概念。
終結點用于指定網絡通信的目標, 在應用程序中,可通過Config文件配置<endpoint>節點進行指定。
在終結點中, 含有3個很重要的概念, 俗稱ABC, 也就是由地址(Address)、協定(Binding)、綁定(Contract)所組成。
Address : 用于發布服務的位置
Binding: 確定的某種通訊方式
Contact: 公開服務的指定類型
在剛才新建的WCF服務庫中, 打開配置文件, 可以看到endpoint節點, 該節點則是用于發布WCF服務。
到現在為止, 只是介紹了WCF服務的一個簡單組成, 那么既然是服務,肯定是要給別人用, 所以下一步就是, 需要一個寄主,
舉個例子 : 就像地鐵卡充值服務, 一般這個服務是獨立的, 我們要去便利店也好, 藥店或者地鐵里面充值, 他們都提供
地鐵卡充值服務,而這些充值地鐵卡的地方, 可以簡稱為宿主(服務的承載)。
所以, 我們下一步就是為這個WCF服務創建一個寄主, 簡單的例子, 我們以控制臺的形式進行創建。
注: 實際上,WCF支持多種寄宿模式, windows應用程序, 控制臺應用程序,IIS等。
然后添加對HelloWCF的項目引用, 以及System.ServiceModel程序集的引用。
注:該編程模型封裝在.NET框架的System.ServiceModel命名空間中。
將HelloWCF中的APP.config的 system.serviceModel節點復制到控制臺的配置文件中。
打開Program文件, 編寫以下代碼, 用于啟動WCF服務。
服務端的構建以及完成, 運行控制臺項目, 打開此服務, 不要關閉, 下一步則是建立客戶端應用程序,并且訪問該WCF服務。
1.打開Visual Studio , 新建一個windows窗體應用程序, 命名為: WcfClient
2. 選擇項目引用, 右鍵添加服務引用, 此時回到我們的服務應用程序中, 找到服務的基地址, 在配置文件中復制該地址。
3.添加該地址的服用引用, 命名使用默認(實際開發過程中可根據服務的類型進行定義), 點擊確定, 此時我們在Form1中
添加一個按鈕, 用于測試訪問服務,
4.雙擊進入, 創建該服務的實例, 調用接口實現的方法, 彈窗的形式顯示結果。
5.測試結果, 成功的調用了WCF服務中的GetData()方法。
以上是“WCF如何創建簡單應用程序”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。