欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

WCF基礎(chǔ)介紹并創(chuàng)建簡(jiǎn)單應(yīng)用程序

 更新時(shí)間:2022年01月24日 15:42:15   作者:痕跡g  
這篇文章介紹了WCF基礎(chǔ)并創(chuàng)建簡(jiǎn)單WCF應(yīng)用程序,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

什么是WCF?

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

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

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

描述: WCF的特點(diǎn)

  • 1. 支持多種消息模式 (單向模式、請(qǐng)求/回復(fù)、雙工)
  • 2. 支持多種傳輸協(xié)議和編碼 (Http,tcp ,msmq等。)
  • 3. 支持事務(wù),持久化。
  • 4. 統(tǒng)一,安全,可擴(kuò)展。

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

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

  • 協(xié)定: 確定消息格式, 服務(wù)類型及安全策略和網(wǎng)絡(luò)協(xié)議。
  • 服務(wù)運(yùn)行時(shí): 處理服務(wù)運(yùn)行中發(fā)生的各種行為
  • 消息傳遞: 描述消息的數(shù)據(jù)格式和交換模型。
  • 激活和承載: 用于發(fā)布WCF服務(wù)的寄主。

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

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

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

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

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

*特性:

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

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

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

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

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

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

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

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

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

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

> 終結(jié)點(diǎn)(EndPoint)

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

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

  • Address : 用于發(fā)布服務(wù)的位置
  • Binding: 確定的某種通訊方式
  • Contact: 公開(kāi)服務(wù)的指定類型

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

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

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

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

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

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

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

然后添加對(duì)HelloWCF的項(xiàng)目引用, 以及System.ServiceModel程序集的引用。

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

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

打開(kāi)Program文件, 編寫(xiě)以下代碼, 用于啟動(dòng)WCF服務(wù)。

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

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

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

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

3.添加該地址的服用引用, 命名使用默認(rèn)(實(shí)際開(kāi)發(fā)過(guò)程中可根據(jù)服務(wù)的類型進(jìn)行定義), 點(diǎn)擊確定, 此時(shí)我們?cè)贔orm1中

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

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

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

到此這篇關(guān)于WCF基礎(chǔ)介紹并創(chuàng)建簡(jiǎn)單應(yīng)用程序的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#針對(duì)xml基本操作及保存配置文件應(yīng)用實(shí)例

    C#針對(duì)xml基本操作及保存配置文件應(yīng)用實(shí)例

    這篇文章主要介紹了C#針對(duì)xml基本操作及保存配置文件應(yīng)用實(shí)例,包括了針對(duì)XML文件的定義、初始化、創(chuàng)建、以及增刪改查等基礎(chǔ)操作,并配有詳細(xì)的實(shí)例加以說(shuō)明,需要的朋友可以參考下
    2014-10-10
  • C#組件系列 你值得擁有的一款Excel處理神器Spire.XLS

    C#組件系列 你值得擁有的一款Excel處理神器Spire.XLS

    又一款Excel處理神器Spire.XLS,這篇文章主要為大家詳細(xì)介紹了第三方組件Spire.XLS,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • C# Partial:分部方法和分部類代碼實(shí)例

    C# Partial:分部方法和分部類代碼實(shí)例

    這篇文章主要介紹了C# Partial:分部方法和分部類代碼實(shí)例,本文直接給出代碼實(shí)現(xiàn),需要的朋友可以參考下
    2015-03-03
  • c#制作屏幕保護(hù)程序步驟(字幕屏保)

    c#制作屏幕保護(hù)程序步驟(字幕屏保)

    本文介紹使用C#制作屏幕保護(hù)的方法,這個(gè)屏幕保護(hù)就是仿效視窗系統(tǒng)自帶的字幕屏保。下面是用C#如何編寫(xiě)屏幕保護(hù)的整個(gè)過(guò)程
    2014-01-01
  • C#獲取網(wǎng)頁(yè)源代碼的方法

    C#獲取網(wǎng)頁(yè)源代碼的方法

    這篇文章主要介紹了C#獲取網(wǎng)頁(yè)源代碼的方法,涉及C#基于自定義函數(shù)讀取網(wǎng)頁(yè)html代碼的方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • C#類中的屬性使用總結(jié)(詳解類的屬性)

    C#類中的屬性使用總結(jié)(詳解類的屬性)

    屬性是一種類的成員,它的實(shí)現(xiàn)類似函數(shù),訪問(wèn)類似字段。它的作用是提供一種靈活和安全的機(jī)制來(lái)訪問(wèn),修改私有字段。所以屬性必須依賴于字段
    2014-03-03
  • 實(shí)例代碼講解c# 線程(上)

    實(shí)例代碼講解c# 線程(上)

    這篇文章主要介紹了講解c# 線程的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • C#使用for循環(huán)移除HTML標(biāo)記

    C#使用for循環(huán)移除HTML標(biāo)記

    大家在項(xiàng)目開(kāi)發(fā)階段移除文字中的html標(biāo)記最常用的方法就是使用正則表達(dá)式,但是正則表達(dá)式不能處理所有的html文檔,所以采用迭代方式會(huì)更好,下面小編給大家解答下
    2016-08-08
  • C#實(shí)現(xiàn)Access通用訪問(wèn)類OleDbHelper完整實(shí)例

    C#實(shí)現(xiàn)Access通用訪問(wèn)類OleDbHelper完整實(shí)例

    這篇文章主要介紹了C#實(shí)現(xiàn)Access通用訪問(wèn)類OleDbHelper,結(jié)合完整實(shí)例形式分析了C#針對(duì)access數(shù)據(jù)庫(kù)的連接、查詢、遍歷、分頁(yè)顯示等相關(guān)操作技巧,需要的朋友可以參考下
    2017-02-02
  • c#創(chuàng)建windows服務(wù)入門教程實(shí)例

    c#創(chuàng)建windows服務(wù)入門教程實(shí)例

    windows服務(wù)是windows系統(tǒng)中一類特殊的應(yīng)用程序,一般情況下它們只會(huì)在后臺(tái)運(yùn)行,不會(huì)影響前臺(tái)操作,非常適合做一些不需要用戶參與的而又需要長(zhǎng)時(shí)間執(zhí)行的任務(wù)
    2014-04-04

最新評(píng)論