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

用WCF鏈接Silverlight客戶端與服務(wù)端

開發(fā) 后端
本文作者最近在做一個項(xiàng)目,在正式開工之前需要掌握將數(shù)據(jù)從服務(wù)端送到客戶端的技術(shù),采用建立WCF服務(wù)的方法。

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

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

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

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

  1.建立名為DataHighway的Silverlight Application

  下圖中,Project DataHighway是客戶端,Project DataHighway.Web是服務(wù)端。

2、新建兩個項(xiàng)目。

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

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

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

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

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

  這個類要由客戶端和服務(wù)端共享,而服務(wù)端并不支持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項(xiàng)目中,添加Person.cs類的鏈接

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

5、在服務(wù)端添加WCF服務(wù)

  在DataHighway.Web項(xiàng)目中添加名為PersonService.svc的Silverlight-enabled WCF Service

  如下圖

#p#

  6.在項(xiàng)目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服務(wù)引用

  將PersonService.svc設(shè)置為Start Page,按F5進(jìn)入Debug模式,記下PersonService.svc的地址

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

單擊Advanced,確認(rèn)Reuse types in all referenced assemblies,如下圖

9.設(shè)計(jì)UI界面

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

  10.在客戶端使用WCF服務(wù)

  在客戶端中添加引用(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設(shè)置為Start Page,運(yùn)行程序

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

  目標(biāo)圓滿達(dá)成!

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

【編輯推薦】

  1. 淺析.NET中的Server push技術(shù)
  2. .NET動靜結(jié)合編程 接口和委托的約束強(qiáng)度
  3. 使用.NET Array類的Sort方法分類數(shù)值
  4. WCF特點(diǎn)具體優(yōu)勢總結(jié)
  5. WCF事件通知具體實(shí)現(xiàn)方法詳解

 

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-12-21 10:19:05

Silverlight

2009-08-21 16:14:52

服務(wù)端與客戶端通信

2009-08-21 15:59:22

服務(wù)端與客戶端通信

2009-08-21 15:36:41

服務(wù)端與客戶端

2009-08-21 15:54:40

服務(wù)端與客戶端

2009-11-05 13:00:25

WCF客戶端

2009-12-07 18:26:36

WCF客戶端

2009-12-22 18:18:11

WCF客戶端編程

2010-03-18 17:47:07

Java 多客戶端通信

2023-03-06 08:01:56

MySQLCtrl + C

2024-03-06 14:58:52

客戶端微服務(wù)架構(gòu)

2009-12-22 10:29:59

WCF客戶端處理

2009-12-08 16:47:06

WCF IP

2010-02-25 16:20:02

WCF客戶端

2010-11-19 14:22:04

oracle服務(wù)端

2023-04-03 08:13:05

MySQLCtrl + C

2009-12-21 10:09:26

WCF創(chuàng)建客戶端服務(wù)對

2010-02-24 15:42:03

WCF服務(wù)端安全

2015-01-13 10:32:23

RestfulWeb框架

2009-11-09 15:49:01

WCF異步調(diào)用
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 精品亚洲一区二区三区 | 国产精品一区一区 | 国产精品激情小视频 | aa级毛片毛片免费观看久 | 亚洲一区二区三区在线播放 | 丁香久久| 亚洲精品免费在线观看 | 欧美日韩久久 | 日韩av一区二区在线观看 | 99精品免费视频 | 免费视频一区 | www.天天操.com| 亚洲精品一区国语对白 | 欧美中国少妇xxx性高请视频 | 国产一区二区三区视频 | 久久久久国产成人精品亚洲午夜 | 91久久久久久久久 | 久久国产视频网 | 亚洲成人日韩 | 五月婷婷导航 | 成年人精品视频 | 日韩福利视频 | 欧美在线日韩 | 国产精品日本一区二区不卡视频 | 99热精品在线观看 | av av在线| 奇米视频777| 欧美一级淫片免费视频黄 | 精品欧美一区二区在线观看欧美熟 | 久久天堂网 | 在线观看国产wwwa级羞羞视频 | h片在线看| 免费观看成人鲁鲁鲁鲁鲁视频 | 午夜色播| 久草在线免费资源 | 二区av| 宅男伊人 | 欧美影院 | 中文av在线播放 | 精品一区二区在线观看 | 天天影视综合 |