自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WCF 3.5在實(shí)際應(yīng)用中特點(diǎn)分析

開(kāi)發(fā) 開(kāi)發(fā)工具
WCF 3.5的特點(diǎn)比較突出,它可以為我們提供一個(gè)簡(jiǎn)潔的HTTP編程模型,來(lái)幫助開(kāi)發(fā)人員彌補(bǔ)一些缺點(diǎn)。在這里我們將會(huì)對(duì)此進(jìn)行詳細(xì)介紹。

WCF開(kāi)發(fā)插件,是由微軟公司推出的一款功能強(qiáng)大的.NET Framework重要組件。它的出現(xiàn),對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)是非常有用的。在這里我們將會(huì)通過(guò)對(duì)WCF 3.5的相關(guān)特點(diǎn)的介紹,來(lái)對(duì)此進(jìn)行一個(gè)充分的掌握。#t#

.NET Framework 3.5 中的 WCF 構(gòu)建于 .NET Framework 3.0 的擴(kuò)展點(diǎn)之上,從而為構(gòu)建符合 Web 原則的服務(wù)提供一流的支持。它包含一個(gè)易于使用的 HTTP 編程模型、JavaScript Object Notation (JSON) 消息傳遞功能,以及新的整合 API,使創(chuàng)建和使用整合的內(nèi)容變得非常簡(jiǎn)便。憑借此功能集,WCF 現(xiàn)已成為將服務(wù)連接到 Web 客戶端的首選服務(wù)平臺(tái),不論這些客戶端是 ASP.NET AJAX 控件、SilverlightTM 客戶端,還是瀏覽器。

應(yīng)該說(shuō),這對(duì)于微軟的SOA戰(zhàn)略來(lái)講,是一個(gè)非常有力的改進(jìn)與增強(qiáng)。如何將原有的BS系統(tǒng)、富客戶端與服務(wù)進(jìn)行通信,提供服務(wù)和消費(fèi)服務(wù),對(duì)于一個(gè)企業(yè)要實(shí)現(xiàn)SOA解決方案來(lái)講,始終是一件彌足輕重的任務(wù)??梢哉f(shuō),WCF 3.5提供的簡(jiǎn)潔的HTTP編程模型,彌補(bǔ)了這一缺點(diǎn)。

使 .NET Framework 3.5 中的 WCF 如此引人注目的特色之一是,以 Web 為中心的通信與 SOAP 和 WS-* 標(biāo)準(zhǔn)組合到了一個(gè)服務(wù)堆棧和對(duì)象模型中。這意味著您可以構(gòu)建這樣一個(gè)服務(wù),即采用 SOAP 和 WS-* 在企業(yè)內(nèi)部或跨企業(yè)邊界進(jìn)行通信,同時(shí)還可以將同一服務(wù)配置為使用 Web 協(xié)議與外部通信。

這是多么讓人愉快的選擇!這意味著對(duì)于同一個(gè)服務(wù),面對(duì)不同的場(chǎng)景,我們可以選擇不同的協(xié)議完成與客戶端的通信。尤其是WCF支持基于TCP傳遞SOAP/WS-*消息,而一直以來(lái),WCF到WCF之間采用二進(jìn)制形式的消息傳遞,使得我們可以構(gòu)建更加快速的企業(yè)內(nèi)部網(wǎng),實(shí)現(xiàn)企業(yè)信息化的高效與穩(wěn)定。

WCF對(duì)于REST的支持已經(jīng)到了空前強(qiáng)大的地步。使用WCF的REST模式,可以發(fā)送POX(Plain Old XML)消息或者使用聯(lián)合(Syndication)格式。WCF 3.5專門(mén)提供了WebHttpBinding,WebHttpBehavior,以及關(guān)于HTTP動(dòng)作的特性,例如WebGetAttribute和WebInvokeAttribute。其中,WebGetAttribute對(duì)應(yīng)HTTP的GET動(dòng)作,而WebInvokeAttribute則可以被除HTTP GET之外的動(dòng)作所使用。例如:

 

  1. [ServiceContract]  
  2. public interface IPictureService  
  3. {  
  4. [OperationContract]  
  5. [WebGet(UriTemplate = "picture/{pictureId}")]  
  6. Stream GetPicture(String pictureId);  
  7. [OperationContract]  
  8. [WebGet(UriTemplate = "picture/t/{pictureId}")]  
  9. Stream GetPictureThumbnail(String pictureId);  
  10. [OperationContract]  
  11. [WebInvoke(UriTemplate="update"Method="POST")]  
  12. void UpdatePictureInfo(PictureInfo info);  

為了支持對(duì)應(yīng)的客戶端代理的創(chuàng)建,WCF 3.5還增加了一個(gè)工廠類WebServiceHostFactory以及宿主類WebServiceHost,前者繼承于ServiceHostFactory類,后者則繼承自ServiceHost類。

WebServiceHostFactory 類型適用于 IIS 承載的情形,這樣就不需要命令性或配置文件承載信息。.NET Framework 3.0 中的 WCF 引入了 .svc 文件,作為在 IIS 中承載 WCF 服務(wù)的激活目標(biāo)。這些文件包含了一些指令,類似于 ASP.NET 中的頁(yè)面指令。將 WebServiceHostFactory 添加到 .svc 文件指令的 Factory 屬性會(huì)創(chuàng)建一個(gè) ServiceHost、添加一個(gè)終結(jié)點(diǎn)(與 WebHttpBinding 使用適當(dāng)?shù)募s定)、將 WebHttpBehavior 添加到該終結(jié)點(diǎn),然后打開(kāi) ServiceHost:
< %@ ServiceHost Language="C#" Service="PictureService" Factory="System.ServiceModel.Web.WebServiceHostFactory" %>服務(wù)的 web.config 文件不包含任何與 WCF 相關(guān)的條目。

通過(guò)WCF 3.5增加的對(duì)Syndication的支持,可以非常方便的創(chuàng)建RSS或ATOM源。文中寫(xiě)道:

.NET Framework 3.5 充分支持整合內(nèi)容的創(chuàng)建和使用。它支持 RSS 2.0 和 ATOM 1.0 格式的創(chuàng)建及使用、支持添加整合擴(kuò)展的各種方式,甚至還支持實(shí)現(xiàn)其他格式的功能。編程模型避免了開(kāi)發(fā)人員直接處理整合格式細(xì)節(jié),從而使其易于使用。

雖然新的整合功能由 WCF 小組編寫(xiě),但它并不依賴于 WCF。事實(shí)上,所有與整合相關(guān)的類型都是 System.Syndication 命名空間的一部分,雖然它們位于 System.ServiceModel.Web.dll 程序集中。您可以從任何承載了 AppDomain(ASP.NET、WPF 應(yīng)用程序、NT 服務(wù)等)的進(jìn)程使用 .NET Framework 3.5 的整合功能。這個(gè)功能意味著您可以通過(guò)任何傳輸(而不僅僅是 HTTP)提供或使用整合的內(nèi)容。然而,當(dāng)與 WCF 中的 HTTP 編程模型結(jié)合后,也可以將整合添加到現(xiàn)有的 SOAP/WS-* 服務(wù)中。

如下代碼演示了如何檢索一個(gè) ATOM 1.0 源、將其轉(zhuǎn)換為 RSS 2.0,然后將新的 RSS 表示輸出到控制臺(tái):

  1. // read an ATOM feed  
  2. Uri feedUri = new Uri("http://blogs.msdn.com/justinjsmith/atom.xml");  
  3. SyndicationFeed feed = SyndicationFeed.Load(feedUri);  
  4. // transform it to RSS  
  5. Rss20FeedFormatter formatter = new Rss20FeedFormatter(feed);  
  6. XmlWriter writer = XmlWriter.Create(Console.Out, null);  
  7. // write it to the Console  
  8. formatter.WriteTo(writer);  
  9. writer.Flush();  

WCF 3.5的相關(guān)特點(diǎn)就為大家介紹到這里。

責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2010-03-01 10:45:59

WCF集合類

2009-12-21 14:58:57

WCF用戶密碼認(rèn)證

2010-02-25 17:22:39

WCF服務(wù)行為

2010-02-22 13:28:05

WCF異步調(diào)用

2009-12-21 11:10:53

WCF工具

2010-02-23 09:34:15

WCF重載

2010-03-02 16:43:46

2010-03-01 13:06:49

WCF繼承

2009-12-21 14:49:27

2010-02-26 10:56:06

WCF Stream

2010-03-02 17:35:20

WCF服務(wù)加載

2010-02-24 14:20:27

WCF并發(fā)模型

2009-12-21 17:40:25

WCF會(huì)話

2010-02-24 14:05:08

WCF openati

2010-02-23 15:58:57

WCF Session

2010-02-22 16:34:17

WCF性能計(jì)數(shù)器

2009-12-28 11:41:04

WPF 3.5特點(diǎn)

2009-11-06 09:22:46

WCF應(yīng)用

2010-03-01 17:52:03

WCF選擇綁定

2010-11-25 10:05:22

Visual StudSilverlightWCF
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)