日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
用WCF鏈接Silverlight客戶端與服務端

  最近正在開發(fā)一個項目,需要應用到Silverlight以及數(shù)據庫。在正式開工之前需要掌握將數(shù)據從服務端送到客戶端的技術,我們采用建立WCF服務的方法。

成都創(chuàng)新互聯(lián)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎,以質量求生存,以技術求發(fā)展,成交一個客戶多一個朋友!為您提供成都網站制作、成都做網站、外貿營銷網站建設、成都網頁設計、成都微信小程序、成都網站開發(fā)、成都網站制作、成都軟件開發(fā)、app軟件定制開發(fā)是成都本地專業(yè)的網站建設和網站設計公司,等你一起來見證!

  “做中學”是最好的學習方法,真正實踐之后學習者將會有更多的自信和把握,這種感覺將激勵他更好的走下去,這也就是“Hello World”的意義之一。

  本文講述如何一步一步搭建,完成借助WCF建立起Silverlight客戶端和服務端的信息傳輸通道。

這里的解決方案使用Visual Studio 10,.Net Framework 4.0, Silverlight 4.0

  1.建立名為DataHighway的Silverlight Application

  下圖中,Project DataHighway是客戶端,Project DataHighway.Web是服務端。

2、新建兩個項目。

  創(chuàng)建名為DataHighway.Client的Silverlight Class Library,它是配合用戶端的。

  創(chuàng)建名為DataHighway.Server的Class Library,它是配合服務端的。

為兩個新建項目設置統(tǒng)一的命名空間

3、我們設計在客戶端和服務端可以傳輸一個類,里面裝著一個人的基本信息。

  在DataHighway.Client增加一個類,名為Person,在DataHighway.Client中生成Person.cs文件。

這個類要由客戶端和服務端共享,而服務端并不支持System.Windows類庫,所以在Person.cs中刪除其System.Windows系列的引用。創(chuàng)建Person 類如下

 
 
 
 
  1. usingSystem;  
  2. usingSystem.Net;  
  3. namespaceDataHighway.Classes  
  4. {  
  5. publicclassPerson  
  6. {  
  7. publicstringName { get;set;}  
  8. publicintAge;  
  9. publicstringSchool { get;set;}  
  10. publicstringMajor { get;set;}  
  11. }  
  12. }  

  4、在DataHighway.Server項目中,添加Person.cs類的鏈接

  右鍵DataHighway.Server項目,選擇Add-> Existing Item,找到DataHighway.Client文件夾中的Person.cs文件,選擇Add As Link

5、在服務端添加WCF服務

  在DataHighway.Web項目中添加名為PersonService.svc的Silverlight-enabled WCF Service

  如下圖

#p#

  6.在項目DataHighway.Web中添加到DataHighway.Server的引用(Add Reference)

  如下圖所示

7. 創(chuàng)建WCF函數(shù),返回Person類

在PersonService.svc.cs中修改代碼

  首先添加引用命名空間

  usingDataHighway.Classes;

  然后修改PersonService.svc.cs代碼如下:

 
 
 
 
  1. usingSystem;  
  2. usingSystem.Linq;  
  3. usingSystem.Runtime.Serialization;  
  4. usingSystem.ServiceModel;  
  5. usingSystem.ServiceModel.Activation;  
  6. usingDataHighway.Classes;  
  7. namespaceDataHighway.Web9{  
  8. [ServiceContract(Namespace ="")]  
  9. [SilverlightFaultBehavior]  
  10. [AspNetCompatibilityRequirements(RequirementsMode =AspNetCompatibilityRequirementsMode.Allowed)]  
  11. publicclassPersonService  
  12. {  
  13. [OperationContract]  
  14. publicPerson GetPerson()  
  15. {  
  16. returnnewPerson()  
  17. {  
  18. Name ="Jun Tang",  
  19. Age =20,  
  20. School ="University of Science and Technology of China",  
  21. Major ="Computer Science" 
  22. };  
  23. }  
  24. }  

  8.在客戶端添加WCF服務引用

  將PersonService.svc設置為Start Page,按F5進入Debug模式,記下PersonService.svc的地址

  右鍵DataHighway工程,添加服務引用(Add Service Reference),將剛才保存的地址復制進去

單擊Advanced,確認Reuse types in all referenced assemblies,如下圖

9.設計UI界面

  使之能夠明了的現(xiàn)實Person的各個屬性

  10.在客戶端使用WCF服務

  在客戶端中添加引用(Add Reference)

在MainPage.xaml.cs中添加引用

  usingDataHighway.Classes;usingDataHighway.PersonServices;

  然后在MainPage.xaml.cs修改代碼

 
 
 
 
  1. usingSystem;  
  2. usingSystem.Collections.Generic;  
  3. usingSystem.Linq;  
  4. usingSystem.Net;  
  5. usingSystem.Windows;  
  6. usingSystem.Windows.Controls;  
  7. usingSystem.Windows.Documents;  
  8. usingSystem.Windows.Input;  
  9. usingSystem.Windows.Media;  
  10. usingSystem.Windows.Media.Animation;  
  11. usingSystem.Windows.Shapes;  
  12. usingDataHighway.Classes;  
  13. usingDataHighway.PersonServices;  
  14. namespaceDataHighway  
  15. {  
  16. publicpartialclassMainPage : UserControl  
  17. {  
  18. publicMainPage()  
  19. {  
  20. InitializeComponent();  
  21. ClientTest();  
  22. }  
  23. voidClientTest()  
  24. {  
  25. var client =newPersonServiceClient();  
  26. client.GetPersonCompleted +=(sender, ea) =>  
  27. {  
  28. textBoxName.Text =ea.Result.Name;  
  29. textBoxAge.Text =ea.Result.Age.ToString();  
  30. textBoxSchool.Text =ea.Result.School;  
  31. textBoxMajor.Text =ea.Result.Major;  
  32. };  
  33. client.GetPersonAsync();  
  34. }  
  35. }  

  11、將DataHighwayTestPage.html設置為Start Page,運行程序

  上圖中是在客戶端顯示,而Jun Tang同學的個人信息卻是從服務端通過WCF服務傳過來的。

  目標圓滿達成!

原文鏈接:http://www.cnblogs.com/rosting/archive/2011/09/08/2171867.html


本文標題:用WCF鏈接Silverlight客戶端與服務端
分享URL:http://www.5511xx.com/article/coheodi.html