溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

WCF如何創(chuàng)建簡單應(yīng)用程序

發(fā)布時間:2022-01-25 09:10:56 來源:億速云 閱讀:167 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹WCF如何創(chuàng)建簡單應(yīng)用程序,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

什么是WCF?

WCF, 英文全稱(windows Communication Foundation) , 即為windows通訊平臺。

windows想到這里大家都知道了 , WCF也正是由微軟公司推出的這個一個玩意, 基于SOA的一個分布式應(yīng)用程序框架和編程模型

(WCF 編程模型的目標(biāo)實現(xiàn)也就是 :WCF服務(wù)、WCF客戶端)

描述: WCF的特點

  • 1. 支持多種消息模式 (單向模式、請求/回復(fù)、雙工)

  • 2. 支持多種傳輸協(xié)議和編碼 (Http,tcp ,msmq等。)

  • 3. 支持事務(wù),持久化。

  • 4. 統(tǒng)一,安全,可擴展。

關(guān)于WCF的基礎(chǔ)知識

> WCF的服務(wù)結(jié)構(gòu)

WCF如何創(chuàng)建簡單應(yīng)用程序

  • 協(xié)定: 確定消息格式, 服務(wù)類型及安全策略和網(wǎng)絡(luò)協(xié)議。

  • 服務(wù)運行時: 處理服務(wù)運行中發(fā)生的各種行為

  • 消息傳遞: 描述消息的數(shù)據(jù)格式和交換模型。

  • 激活和承載: 用于發(fā)布WCF服務(wù)的寄主。

> 如何創(chuàng)建WCF 服務(wù)

打開Visual Studio 新建一個項目, 選擇WCF 服務(wù)庫創(chuàng)建并命名為 HelloWCF。

WCF如何創(chuàng)建簡單應(yīng)用程序

可以看到, 在創(chuàng)建該項目時, 系統(tǒng)默認(rèn)為我們添加了一個Iservice1(接口) 和一個 service1(實現(xiàn)類)。

在Iservice1中, 可以看到該接口定義了 ServiceContract 特性, 接口方法中定義了 OperationContract 特性

這兩類特性則歸屬于WCF中的服務(wù)協(xié)定。

*特性:

用來聲明服務(wù)端定義的所有協(xié)定。 在C#中,所有特性類都是從Attribute類繼承而來的,而且其名稱都有Attribute后綴。用C#編寫代碼時,

一律用中括號來聲明特性類,在ServiceContract定義中, 會發(fā)現(xiàn)后面跟著Attribute后綴,聲明時省略Attribute后綴,這是建議的用法。

特性類的用途是為緊跟在它后面的目標(biāo)元素提供設(shè)計行為。比如對某個字段聲明了某個特性,則該特性的目標(biāo)元素就是這個字段。目標(biāo)元素可以是

程序集、類、構(gòu)造函數(shù)、委托、枚舉、事件、字段、接口、方法、可移植模塊、參數(shù)、屬性(Property)、返回值以及結(jié)構(gòu)等。另外,目標(biāo)元素還可以是其他特性類。

在CompositeType類中, 可以看到該類定義了DataContract特性, 與屬性中定義了DataMember 特性 ,

而這類則屬于WCF中的數(shù)據(jù)消息協(xié)定。

在我們的實際開發(fā)過程中, 需要用于數(shù)據(jù)交互的實體類, 則必須聲明類及成員的數(shù)據(jù)協(xié)定, 聲明的意義則表示該實體可以序列化。

注: 在WCF定義了DataMember的類成員, 無論是Public、Private, 它都可以被訪問。

打開service1 類文件, 集成于Iservice1 的接口并且有具體實現(xiàn), 在我們測試中, 則是利用客戶端進行訪問進行演示, 而下面,

要講的技術(shù)一個關(guān)于終結(jié)點的概念。

> 終結(jié)點(EndPoint)

終結(jié)點用于指定網(wǎng)絡(luò)通信的目標(biāo), 在應(yīng)用程序中,可通過Config文件配置<endpoint>節(jié)點進行指定。

在終結(jié)點中, 含有3個很重要的概念, 俗稱ABC, 也就是由地址(Address)、協(xié)定(Binding)、綁定(Contract)所組成。

  • Address : 用于發(fā)布服務(wù)的位置

  • Binding: 確定的某種通訊方式

  • Contact: 公開服務(wù)的指定類型

在剛才新建的WCF服務(wù)庫中, 打開配置文件, 可以看到endpoint節(jié)點, 該節(jié)點則是用于發(fā)布WCF服務(wù)。

WCF如何創(chuàng)建簡單應(yīng)用程序

到現(xiàn)在為止, 只是介紹了WCF服務(wù)的一個簡單組成, 那么既然是服務(wù),肯定是要給別人用, 所以下一步就是, 需要一個寄主,

舉個例子 : 就像地鐵卡充值服務(wù), 一般這個服務(wù)是獨立的, 我們要去便利店也好, 藥店或者地鐵里面充值, 他們都提供

地鐵卡充值服務(wù),而這些充值地鐵卡的地方, 可以簡稱為宿主(服務(wù)的承載)。

所以, 我們下一步就是為這個WCF服務(wù)創(chuàng)建一個寄主, 簡單的例子, 我們以控制臺的形式進行創(chuàng)建。

注: 實際上,WCF支持多種寄宿模式, windows應(yīng)用程序, 控制臺應(yīng)用程序,IIS等。

> 選擇右鍵, 新建一個控制臺應(yīng)用程序, 并命名為 WCFService

WCF如何創(chuàng)建簡單應(yīng)用程序

然后添加對HelloWCF的項目引用, 以及System.ServiceModel程序集的引用。

注:該編程模型封裝在.NET框架的System.ServiceModel命名空間中。

WCF如何創(chuàng)建簡單應(yīng)用程序

將HelloWCF中的APP.config的 system.serviceModel節(jié)點復(fù)制到控制臺的配置文件中。

WCF如何創(chuàng)建簡單應(yīng)用程序

打開Program文件, 編寫以下代碼, 用于啟動WCF服務(wù)。

WCF如何創(chuàng)建簡單應(yīng)用程序

WCF如何創(chuàng)建簡單應(yīng)用程序

服務(wù)端的構(gòu)建以及完成, 運行控制臺項目, 打開此服務(wù), 不要關(guān)閉, 下一步則是建立客戶端應(yīng)用程序,并且訪問該WCF服務(wù)。

> 創(chuàng)建WCF客戶端

1.打開Visual Studio , 新建一個windows窗體應(yīng)用程序, 命名為: WcfClient

WCF如何創(chuàng)建簡單應(yīng)用程序

2. 選擇項目引用, 右鍵添加服務(wù)引用, 此時回到我們的服務(wù)應(yīng)用程序中, 找到服務(wù)的基地址, 在配置文件中復(fù)制該地址。

WCF如何創(chuàng)建簡單應(yīng)用程序

3.添加該地址的服用引用, 命名使用默認(rèn)(實際開發(fā)過程中可根據(jù)服務(wù)的類型進行定義), 點擊確定, 此時我們在Form1中

添加一個按鈕, 用于測試訪問服務(wù),

WCF如何創(chuàng)建簡單應(yīng)用程序

4.雙擊進入, 創(chuàng)建該服務(wù)的實例, 調(diào)用接口實現(xiàn)的方法, 彈窗的形式顯示結(jié)果。

WCF如何創(chuàng)建簡單應(yīng)用程序

5.測試結(jié)果, 成功的調(diào)用了WCF服務(wù)中的GetData()方法。

WCF如何創(chuàng)建簡單應(yīng)用程序

以上是“WCF如何創(chuàng)建簡單應(yīng)用程序”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

wcf
AI