欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
基于Silverlight應用程序調試WCF服務(wù)

基于Silverlight應用程序調試WCF服務(wù)

時(shí)間:2010-11-26 02:29來(lái)源:51cto.com 作者:黃永兵 點(diǎn)擊: 817次
在以前的Silverlight應用程序中,我們都是通過(guò)給Web項目添加一個(gè)新的WCF服務(wù),并填充代碼的方式創(chuàng )建Windows通信基礎(WCF)服務(wù)的,這種方法導致我在測試和調試我的服務(wù)配置時(shí)遇到了許多問(wèn)題,有沒(méi)有更好的方法來(lái)添加一個(gè)WCF服務(wù)? 創(chuàng )建WCF服務(wù)的方法很多,這里要介紹的方法會(huì )讓你解決問(wèn)題變得更容易,它利用Visual Studio 20
  

      在以前的Silverlight應用程序中,我們都是通過(guò)給Web項目添加一個(gè)新的WCF服務(wù),并填充代碼的方式創(chuàng )建Windows通信基礎(WCF)服務(wù)的,這種方法導致我在測試和調試我的服務(wù)配置時(shí)遇到了許多問(wèn)題,有沒(méi)有更好的方法來(lái)添加一個(gè)WCF服務(wù)?

  創(chuàng )建WCF服務(wù)的方法很多,這里要介紹的方法會(huì )讓你解決問(wèn)題變得更容易,它利用Visual Studio 2010中提供的輕量級WCF配置選項。

  向Silverlight應用程序添加一個(gè)服務(wù)最簡(jiǎn)單的方法是,向Silverlight解決方案的Web應用程序項目添加一個(gè)WCF服務(wù)項,當你添加一個(gè)名為T(mén)estServiceCB的服務(wù)時(shí),Visual Studio會(huì )用相同的服務(wù)定義創(chuàng )建一個(gè)接口。

[ServiceContract]  
public interface ITestServiceCB  
{      [OperationContract]      
       void DoWork();
}

 

  此外,Visual Studio會(huì )添加一個(gè)TestServiceCB.svc文件,其內容如下,它實(shí)現了服務(wù)接口:

public class TestServiceCB : ITestServiceCB
{
      
public void DoWork()
{        }
}

 

  當你選中TestServiceCB.svc,并從上下文菜單中選擇“在瀏覽器中查看”,瀏覽器會(huì )打開(kāi)URL localhost:55778/TestServiceCB.svc,顯示關(guān)于服務(wù)的一些信息,注意URL中的端口55778,在你的環(huán)境中可能會(huì )有所不同。

  這個(gè)解決方案只適合簡(jiǎn)單的服務(wù),對于涉及到業(yè)務(wù)和數據訪(fǎng)問(wèn)層的復雜服務(wù)可能需要集成和單元測試,使用不同的主機部署相同的服務(wù)也比Web應用程序更困難,對于這些情況,圖2顯示的項目結構可能會(huì )更好一點(diǎn)。


  圖1 WCF服務(wù)的一個(gè)獨立服務(wù)庫,允許你以多種方式托管它們并協(xié)助測試你的配置,這不是Visual Studio的默認行為,但難度并不大

  使用這種方法,所有用于實(shí)現服務(wù)的接口和類(lèi)都被包含在一個(gè)單獨的服務(wù)庫項目里面,Web項目仍然托管服務(wù),根據需要調用服務(wù)庫中的類(lèi),創(chuàng )建一或多個(gè)測試項目直接測試服務(wù)庫中的類(lèi),從而減少出現問(wèn)題的可能性,給你提供了一個(gè)繞過(guò)客戶(hù)端進(jìn)行調試的方法,在Silverlight和WCF世界中這一點(diǎn)特別重要,因為默認情況下,服務(wù)返回的所有異常都只提供了很少甚至沒(méi)有提供診斷信息。

  如果要創(chuàng )建這個(gè)結構,首先給你的Silverlight解決方案添加一個(gè)WCF服務(wù)庫,默認情況下,Visual Studio會(huì )給你的服務(wù)庫項目添加一個(gè)名為IService1.cs的接口和名為Service1.cs的服務(wù)類(lèi),它們和你直接在Web應用程序中添加WCF服務(wù)時(shí)創(chuàng )建的接口和代碼隱藏類(lèi)相似,你應該修改接口和服務(wù)類(lèi)的名字,反映出你的服務(wù)名,作為一個(gè)例子,一個(gè)叫TestService的服務(wù)可能包含以下ITestService接口:

[ServiceContract]  
public interface ITestService  
{      
      [OperationContract]      
      DateInformation GetFutureDate(ref ServiceContext context,                
      
int futureDays);
}

  和一個(gè)對應的實(shí)現服務(wù)的服務(wù)類(lèi):

public class TestService : ITestService
{      
public DateInformation GetFutureDate(    
ref ServiceContext context,
int futureDays)
{          
  return
null;  
   }
  }

  為了在SIlverlight應用程序對應的Web應用程序中托管你的服務(wù),你需要添加一個(gè)到服務(wù)庫項目的引用,并創(chuàng )建一個(gè)名為T(mén)estService.svc的文件,你必須首先以文本格式添加這個(gè)文件,然后修改前綴,給TestService.svc文件增加下面的標記:

<%@ ServiceHost Language="C#" Debug="true" Service = "MyTest-  Service.TestService" %>

  你還需要在Web應用程序的Web.config文件中配置你的服務(wù),WCF團隊在Microsoft .NET Framework 4中做了很大努力,通過(guò)使用綁定的默認值減少了WCF配置的復雜性,這意味著(zhù)你不用自己添加任何配置信息,但對開(kāi)發(fā)而言,有些配置覆蓋掉可能更好,將下面的內容添加到你的Web.config文件中:

<system.serviceModel>    
<behaviors>  
<serviceBehaviors>      
<behavior>        
<serviceMetadata httpGetEnabled="true"/>        
<serviceDebug includeExceptionDetailInFaults="false"/>      
</behavior>  
</serviceBehaviors>      
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>

  服務(wù)Metadata標簽告訴WCF發(fā)布當你向Silverlight應用程序添加一個(gè)服務(wù)引用時(shí)使用到的元數據,在你的本地機器上,Visual Studio會(huì )自動(dòng)為你的服務(wù)分配一個(gè)地址,但在部署到生產(chǎn)環(huán)境時(shí),你需要添加額外的配置信息指定服務(wù)的真實(shí)URL,注意Visual Studio會(huì )在服務(wù)庫項目的App.config文件中創(chuàng )建一個(gè)配置小節,但WCF會(huì )忽略該配置信息。

  測試服務(wù)配置

  現在你可以測試你的服務(wù),首先測試你的配置文件設置是否正確,在解決方案資源管理器中選中SVC文件,點(diǎn)擊右鍵,在彈出的菜單中選擇“在瀏覽器中查看”,瀏覽器將會(huì )顯示關(guān)于服務(wù)的一些信息,注意自動(dòng)生成的URL。

  為了測試你的服務(wù)是否可以真正調用,Visual Studio提供了WCF測試客戶(hù)端工具,打開(kāi)Visual Studio命令行窗口,在命令提示符后輸入命令wcftestclient,彈出該客戶(hù)端窗口后,選擇“文件”*“添加服務(wù)”選擇要測試的服務(wù),然后輸入瀏覽器中顯示的URL,從測試客戶(hù)端,你可以結合數據調用每一個(gè)服務(wù)方法,并查看結果,WCF測試客戶(hù)端如圖2所示。


  圖2 WCF測試客戶(hù)端提供了一個(gè)方法驗證服務(wù)是否正確啟動(dòng),

  界面右側的“請求”和“響應”區域提供了一個(gè)方法進(jìn)行冒煙測試

  至此,你已經(jīng)為服務(wù)完成了服務(wù)端檢查,你可以增加你認為合適的操作、業(yè)務(wù)和數據訪(fǎng)問(wèn)層以擴大你的服務(wù),我總是會(huì )增加一個(gè)服務(wù)測試項目測試服務(wù)庫,這種測試通常會(huì )獲得更高回報,在通過(guò)Silverlight客戶(hù)端應用程序診斷服務(wù)問(wèn)題時(shí),可以幫助我避免掉耗時(shí)且令人沮喪的問(wèn)題。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
WCF測試客戶(hù)端(WCF Test Client)
Windows phone 7 之初體驗
Expression Blend入門(mén)
.net框架
面向領(lǐng)域驅動(dòng)的應用開(kāi)發(fā)框架Apworks 2.5發(fā)布
WCF與AJAX編程開(kāi)發(fā)實(shí)踐(3):支持ASP.NET AJAX的WCF服務(wù)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久