成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在Silverlight 3中消耗WCF服務

開發(fā) 后端
本文中,我們將為大家介紹在Silverlight 3中消耗服務所需的步驟,還會談到一些重要的性能。我們會討論如何用Silverlight客戶端處理異步調(diào)用。

消耗服務

VS2008的Silverlight工具提供了內(nèi)置功能來創(chuàng)建用Silverlight激活的WCF服務并且在不需要編寫大量代碼的情況下消耗WCF服務。Silverlight 3現(xiàn)在支持二進制XML,這一功能可以用更快的速度把數(shù)據(jù)從服務器傳到客戶端。如果需要的話,標準SOAP信息也能被傳送。

如果你以前消耗過一個ASP.NET ASMX Web 服務,那么你會覺得消耗WCF服務易如反掌。VS2008的新增服務引用對話框允許你選取該服務并在不編寫大量代碼的情況下生成客戶端。生成代理前,要明白Silverlight只能調(diào)回到原始服務器,在原始服務器上,會默認提供Silverlight XAP應用程序文件。

如果你需要調(diào)用一個WCF服務,該服務可能存在于不同域或不同端口中,那么該服務必須擁有客戶訪問政策文件,文件名為clientaccesspolicy.xml,文件位于服務器低端。Silverlight會檢查這個文件以查看是否該文件被允許執(zhí)行跨域的調(diào)用。

下面的例一展示了一個樣本文件:

  1. < ?xml version="1.0" encoding="utf-8"?>   
  2. < access-policy> 
  3. < cross-domain-access> 
  4. < policy> 
  5. < allow-from> 
  6. < domain uri="*"/> 
  7. < /allow-from> 
  8. < grant-to> 
  9. < resource path="/" include-subpaths="true"/> 
  10. < /grant-to> 
  11. < /policy> 
  12. < /cross-domain-access> 
  13. < /access-policy> 

例一:客戶訪問政策文件可以放置到服務器低端以便允許Silverlight客戶來調(diào)用處于不同域或運行于不同端口的服務。

為了創(chuàng)建一個WCF服務代理,你首先需要創(chuàng)建一個Silverlight應用程序項目。一旦該項目被創(chuàng)建好,你就可以右鍵單擊項目,然后選擇添加服務參考。如下所示,系統(tǒng)會提供Add Service Reference對話框,圖一顯示出Add Service Reference對話框可以在沒有大量代碼的情況下快速而簡便地生成客戶代理。

圖一:

在Silverlight3中消耗WCF服務

如果WCF服務位于相同的VS方案中,你可以點擊Discover按鈕。否則,你就要輸入到達Address文本框中Web Service Description Language(WSDL)文件的路徑。一旦文件被定位,你就可以給代理代碼一個命名空間,然后點擊確認按鈕。

一旦客戶代理被創(chuàng)建,你就可以調(diào)用Silverlight應用中的服務。要記住所有與Silverlight一起發(fā)生的網(wǎng)絡操作都是異步的,因此服務被調(diào)用的時候,瀏覽器不會鎖定。

例二展示了一個使用客戶代碼調(diào)用服務和綁定數(shù)據(jù)的示例:

      

  1.  void MainPage_Loaded(object sender, RoutedEventArgs e)   
  2. {  
  3. //Create service proxy  
  4. WcfService.Service1Client proxy = new WcfService.Service1Client();  
  5. //Wire the proxy to a completed handler to allow the async operation to be handled  
  6. proxy.GetCustomerCompleted +=  
  7. new EventHandler< WcfService.GetCustomerCompletedEventArgs> (  
  8. proxy_GetCustomerCompleted);  
  9. //Call the service asynchronously  
  10. proxy.GetCustomerAsync(id);  
  11. }  
  12. void proxy_GetCustomerCompleted(object sender, SilverlightApplication1.WcfService.GetCustomerCompletedEventArgs e)  
  13. {  
  14. //Bind the returned data to the DataContext  
  15. this.DataContext = e.Result;  

例二;使用一個客戶代理對象來調(diào)用Silverlight中的WCF服務。

看一看例二中的代碼,你可以看出代理對象是***被創(chuàng)建,然后通過一個事件驅動型模式,被名為proxy_GetCustomerCompleted的異步事件處理器捆綁起來。該服務通過援引GetCustomerAsync方法被異步調(diào)用。一旦服務返回了數(shù)據(jù),調(diào)回方法會被自動調(diào)用,GetCustomerCompletedEventArgs參數(shù)會被訪問以檢索數(shù)據(jù)。在這個示例中,數(shù)據(jù)被直接綁定到應用程序的DataContext屬性中。注意不需要有額外的操作來設定數(shù)據(jù)傳遞路線。代理會自動處理所有的事情。

Silverlight應用程序不能直接調(diào)用一個數(shù)據(jù)庫,但是他們可以從一系列諸如WCF服務,ASMX服務和其他標準兼容等服務中存取數(shù)據(jù)。

【編輯推薦】

  1. 微軟7月發(fā)布Silverlight 3最終版 新增50多項功能
  2. 淺談Silverlight 3中在線與離線狀態(tài)檢測
  3. Silverlight 3數(shù)據(jù)存取功能簡析
  4. 圖解Silverlight 3的7個新功能
  5. 用Silverlight 3的位圖API實現(xiàn)可寫位圖
責任編輯:彭凡 來源: IT專家網(wǎng)
相關推薦

2010-11-25 10:05:22

Visual StudSilverlightWCF

2010-03-02 10:33:01

Silverlight

2010-03-05 14:15:20

SilverlightWCF

2010-02-26 17:51:16

Silverlight

2010-03-01 17:44:39

Silverlight

2009-12-21 10:19:05

Silverlight

2009-12-08 13:46:16

Silverlight

2009-12-08 14:10:55

Silverlight

2011-09-09 09:44:23

WCF

2010-02-25 17:22:39

WCF服務行為

2011-03-15 16:07:33

Windows AzuWCF

2009-07-16 15:46:09

Windows Emb

2009-04-03 13:09:12

Windows Emb

2010-02-26 15:46:48

Silverlight

2011-03-15 15:43:39

Windows AzuWCF

2011-03-15 16:12:00

Windows AzuWCF

2009-02-02 10:53:34

SilverlightSilverlightRIA

2010-02-23 10:25:29

2009-12-08 16:59:52

WCF服務

2009-03-13 10:39:55

編程Visual StudSilverlight
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91久久国产综合久久 | 综合色播 | 成人在线a| 狠狠干影院| 亚洲精品一二三区 | 久久黄视频| 欧美一级二级在线观看 | 久久久成人一区二区免费影院 | 欧美一级在线免费 | 欧美日韩综合一区 | 91视频免费观看 | 91久久久久 | 日韩一区二区三区视频在线观看 | 成人影院一区二区三区 | 亚洲欧美日韩成人在线 | 精产嫩模国品一二三区 | 日韩欧美一区在线 | 在线亚洲一区 | 午夜影院| 国产一区二区三区免费观看视频 | 国产观看 | 欧美成年人视频在线观看 | 久久人体| 天天夜天天操 | 综合久久一区 | 亚洲成a人片 | 国产精品夜间视频香蕉 | 久久综合久久自在自线精品自 | 91久久久久久 | 成人在线观看免费视频 | 欧美成人精品一区二区三区 | 少妇午夜一级艳片欧美精品 | 欧美精品久久久久久久久久 | 一区二区免费在线观看 | 亚洲三级av | 国产一区二区精品 | 九九久久久 | 久久久久久九九九九 | av在线一区二区三区 | 免费看日韩视频 | 国产一级大片 |