日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
在WindowsAzure中實(shí)現(xiàn)和調(diào)試一個(gè)WCF服務(wù)(上)

在Windows Azure中實(shí)現(xiàn)和調(diào)試一個(gè)WCF服務(wù)(上)

原創(chuàng)
作者:編譯/周雪峰 2011-03-15 15:43:39
云計(jì)算 為了把在Windows Azure中運(yùn)行的,使用強(qiáng)大的WCF框架的服務(wù)暴露出來(lái),Windows Azure提供了一個(gè)WCF角色。無(wú)論在哪個(gè)框架和平臺(tái)上構(gòu)建復(fù)雜的,具有高度可擴(kuò)展性的系統(tǒng),通過它們的功能進(jìn)行邏輯分組,針對(duì)那些分組來(lái)抽象代碼,并且分別執(zhí)行它們,都是一種簡(jiǎn)單而高效的擴(kuò)展性策略。

創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、肅北網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為肅北等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

為了把在Windows Azure中運(yùn)行的,使用強(qiáng)大的WCF框架的服務(wù)暴露出來(lái),Windows Azure提供了一個(gè)WCF角色。無(wú)論在哪個(gè)框架和平臺(tái)上構(gòu)建復(fù)雜的,具有高度可擴(kuò)展性的系統(tǒng),通過它們的功能進(jìn)行邏輯分組,針對(duì)那些分組來(lái)抽象代碼,并且分別執(zhí)行它們,都是一種簡(jiǎn)單而高效的擴(kuò)展性策略。你應(yīng)該把用來(lái)“繪制圖形”的可執(zhí)行代碼分成一組,然后找出圖形繪制服務(wù)的瓶頸,通過增加負(fù)責(zé)這個(gè)任務(wù)的Windows Azure實(shí)例的數(shù)量,你可以集中更多的計(jì)算能力來(lái)完成這個(gè)任務(wù)。

Windows Communication Foundation (WCF)是一種被廣泛使用的客戶端/服務(wù)端通信技術(shù),它是由微軟提供的,而且已經(jīng)很成熟了。一個(gè)WCF服務(wù)可以和一個(gè)WCF客戶端進(jìn)行通信,也可以和采用了同樣的標(biāo)準(zhǔn)的其他框架的客戶端進(jìn)行通信。本文主要為您講述在Windows Azure中創(chuàng)建和使用WCF角色的基礎(chǔ)知識(shí),以及如何診斷發(fā)生在WCF服務(wù)內(nèi)部的錯(cuò)誤。除此之外,本文還會(huì)為您講述在把Windows Azure的WCF跟蹤信息記錄到日志中的過程中,會(huì)遇到哪些已知的問題,以及這些問題的基本解決方法。另外,我們會(huì)提供相關(guān)的源代碼。

首先,我們必須創(chuàng)建一個(gè)全新的,使用Windows Azure SDK v1.3的Windows Azure項(xiàng)目,然后給它添加一個(gè)新的WCF角色。這個(gè)角色是由Visual Studio來(lái)創(chuàng)建的,它帶有很多有用的基礎(chǔ)設(shè)置和服務(wù)。值得注意的是,創(chuàng)建一個(gè)WCF服務(wù)并不是***的方法,你也可以使用Web角色或者Worker角色(甚至是一個(gè)VM角色?。?。但是,如果我們創(chuàng)建了一個(gè)使用WCF角色模板的服務(wù),事情會(huì)變得更加容易一些。另外,這一點(diǎn)也應(yīng)該引起我們的注意:使用WCF角色和使用Web角色沒有什么本質(zhì)區(qū)別,如果你使用的是Worker角色,那么情況就有所不同了。區(qū)別在于WCF角色和Web角色都是在IIS中托管WCF服務(wù)的,而使用Worker角色的時(shí)候,你只能在Windows應(yīng)用程序中自托管。這方面的具體信息,可以參考:http://msdn.microsoft.com/en-us/library/ms730158.aspx。

讓我們回到我們手頭的任務(wù)上來(lái),為我們的項(xiàng)目創(chuàng)建一個(gè)“WCF Service Web Role”:

這會(huì)創(chuàng)建一個(gè)Web應(yīng)用程序(類似于Web角色),而且還會(huì)添加一些基礎(chǔ)的代碼文件。

這些是一個(gè)非常基礎(chǔ)的WCF服務(wù)的基本組成部分,現(xiàn)在我來(lái)詳細(xì)說(shuō)明一下它們都是做什么的。如果你已經(jīng)是一個(gè)WCF方面的老手了,可以跳過這個(gè)小節(jié)!

AzureLocalStorageTraceListener.cs:

這是“XmlWriterTraceListener”的一個(gè)派生類,“XmlWriterTraceListener”類的主要功能是收集“System.Diagnostics.Trace”類寫入的日志信息,然后通過Xml的形式來(lái)輸出它們。這是一個(gè)具有特定用途的“XmlWriterTraceListener”——它總是把基于XML的Trace信息寫入到LocalStorage的一個(gè)區(qū)域中。Windows Azure允許一個(gè)角色對(duì)磁盤的可寫區(qū)域進(jìn)行寫入操作。用這種特定的方式可以寫入文件路徑,以便于讓W(xué)indows Azure Diagnostics框架知道從什么地方選擇文件。Windows Azure Diagnostics框架必須要把它們移動(dòng)到一個(gè)角色實(shí)例的本地實(shí)例中,以便于它們可以跨實(shí)例來(lái)使用。

IService1.cs:

這個(gè)文件包含一個(gè)接口和一個(gè)類。它們都很有意思,因?yàn)樗鼈兊亩x都是用特性(attribute)來(lái)修飾的。“IService1.cs”中的接口是用特性[ServiceContract]來(lái)修飾的——這意味著在這個(gè)應(yīng)用程序中,這個(gè)接口定義了一個(gè)服務(wù)契約。它可以用于WCF,表示客戶端和服務(wù)端都同意可以在這個(gè)服務(wù)上使用某些方法,在內(nèi)部,這些方法是用OperationContract]來(lái)修飾的。IService1.cs中的類是用特性[DataContract]來(lái)修飾的,它的成員是用特性[DataMember]來(lái)修飾的——這為指定客戶端和服務(wù)端都同意的,可以在客戶端和服務(wù)端之間進(jìn)行傳遞的消息的細(xì)節(jié)提供了一種方法。

Service1.svc(和展開它后看到的Service1.svc.cs):

這個(gè)類實(shí)現(xiàn)了上面那個(gè)用“IService1”來(lái)聲明的接口,這意味著,當(dāng)你連接到一個(gè)WCF服務(wù)(這個(gè)服務(wù)使用由“Service1.svc”實(shí)現(xiàn)的IService1)的時(shí)候,這些才是真正的要執(zhí)行的邏輯。請(qǐng)注意,在這個(gè)例子中,針對(duì)“Service1.svc”的路徑總是提供這樣的功能,但是在高級(jí)的WCF配置中,你可以把.svc替換掉,使用一個(gè)可以獲得更大靈活性的配置。

Web.config:

這是Web應(yīng)用程序的配置文件。值得注意的是,默認(rèn)情況下,“AzureLocalStorageTraceListener”是被禁用的,“system.serviceModel”節(jié)點(diǎn)定義了我們可以使用“httpGet”(一個(gè)比較基礎(chǔ)的Web請(qǐng)求)來(lái)獲取服務(wù)的元數(shù)據(jù)。后面這種設(shè)置很有用,因?yàn)樵陂_發(fā)過程中,我們可以使用一個(gè)瀏覽器來(lái)瀏覽這個(gè)服務(wù)。

WebRole.cs:

這是“RoleEntryPoint”的一個(gè)派生類,它控制著WCF角色在Windows Azure中的啟動(dòng)方式?!癘nStart”方法用于配置Windows Azure診斷信息是如何遷移到blob storage中的——它每分鐘都會(huì)按照在“AzureLocalStorageTraceListener”中配置的路徑做一次這樣的工作。注意,本地存儲(chǔ)器應(yīng)該這樣來(lái)定義:

原文名:Implementing and Debugging a WCF Service in Windows Azure 作者:Andy

本文接《在Windows Azure中實(shí)現(xiàn)和調(diào)試一個(gè)WCF服務(wù)(中)》和《在Windows Azure中實(shí)現(xiàn)和調(diào)試一個(gè)WCF服務(wù)(下)》

【本文乃51CTO精選譯文,轉(zhuǎn)載請(qǐng)標(biāo)明出處!】


當(dāng)前文章:在WindowsAzure中實(shí)現(xiàn)和調(diào)試一個(gè)WCF服務(wù)(上)
URL鏈接:http://www.dlmjj.cn/article/djehhcp.html