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

成都創(chuàng)新互聯(lián)公司一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶(hù),是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶(hù)多一個(gè)朋友!為您提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、成都網(wǎng)頁(yè)設(shè)計(jì)、成都微信小程序、成都網(wǎng)站開(kāi)發(fā)、成都網(wǎng)站制作、成都軟件開(kāi)發(fā)、app軟件定制開(kāi)發(fā)是成都本地專(zhuān)業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來(lái)見(jiàn)證!
“做中學(xué)”是最好的學(xué)習(xí)方法,真正實(shí)踐之后學(xué)習(xí)者將會(huì)有更多的自信和把握,這種感覺(jué)將激勵(lì)他更好的走下去,這也就是“Hello World”的意義之一。
本文講述如何一步一步搭建,完成借助WCF建立起Silverlight客戶(hù)端和服務(wù)端的信息傳輸通道。
這里的解決方案使用Visual Studio 10,.Net Framework 4.0, Silverlight 4.0
1.建立名為DataHighway的Silverlight Application
下圖中,Project DataHighway是客戶(hù)端,Project DataHighway.Web是服務(wù)端。
2、新建兩個(gè)項(xiàng)目。
創(chuàng)建名為DataHighway.Client的Silverlight Class Library,它是配合用戶(hù)端的。
創(chuàng)建名為DataHighway.Server的Class Library,它是配合服務(wù)端的。
為兩個(gè)新建項(xiàng)目設(shè)置統(tǒng)一的命名空間
3、我們?cè)O(shè)計(jì)在客戶(hù)端和服務(wù)端可以傳輸一個(gè)類(lèi),里面裝著一個(gè)人的基本信息。
在DataHighway.Client增加一個(gè)類(lèi),名為Person,在DataHighway.Client中生成Person.cs文件。
這個(gè)類(lèi)要由客戶(hù)端和服務(wù)端共享,而服務(wù)端并不支持System.Windows類(lèi)庫(kù),所以在Person.cs中刪除其System.Windows系列的引用。創(chuàng)建Person 類(lèi)如下
- usingSystem;
- usingSystem.Net;
- namespaceDataHighway.Classes
- {
- publicclassPerson
- {
- publicstringName { get;set;}
- publicintAge;
- publicstringSchool { get;set;}
- publicstringMajor { get;set;}
- }
- }
4、在DataHighway.Server項(xiàng)目中,添加Person.cs類(lèi)的鏈接
右鍵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類(lèi)
在PersonService.svc.cs中修改代碼
首先添加引用命名空間
usingDataHighway.Classes;
然后修改PersonService.svc.cs代碼如下:
- usingSystem;
- usingSystem.Linq;
- usingSystem.Runtime.Serialization;
- usingSystem.ServiceModel;
- usingSystem.ServiceModel.Activation;
- usingDataHighway.Classes;
- namespaceDataHighway.Web9{
- [ServiceContract(Namespace ="")]
- [SilverlightFaultBehavior]
- [AspNetCompatibilityRequirements(RequirementsMode =AspNetCompatibilityRequirementsMode.Allowed)]
- publicclassPersonService
- {
- [OperationContract]
- publicPerson GetPerson()
- {
- returnnewPerson()
- {
- Name ="Jun Tang",
- Age =20,
- School ="University of Science and Technology of China",
- Major ="Computer Science"
- };
- }
- }
- }
8.在客戶(hù)端添加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的各個(gè)屬性
10.在客戶(hù)端使用WCF服務(wù)
在客戶(hù)端中添加引用(Add Reference)
在MainPage.xaml.cs中添加引用
usingDataHighway.Classes;usingDataHighway.PersonServices;
然后在MainPage.xaml.cs修改代碼
- usingSystem;
- usingSystem.Collections.Generic;
- usingSystem.Linq;
- usingSystem.Net;
- usingSystem.Windows;
- usingSystem.Windows.Controls;
- usingSystem.Windows.Documents;
- usingSystem.Windows.Input;
- usingSystem.Windows.Media;
- usingSystem.Windows.Media.Animation;
- usingSystem.Windows.Shapes;
- usingDataHighway.Classes;
- usingDataHighway.PersonServices;
- namespaceDataHighway
- {
- publicpartialclassMainPage : UserControl
- {
- publicMainPage()
- {
- InitializeComponent();
- ClientTest();
- }
- voidClientTest()
- {
- var client =newPersonServiceClient();
- client.GetPersonCompleted +=(sender, ea) =>
- {
- textBoxName.Text =ea.Result.Name;
- textBoxAge.Text =ea.Result.Age.ToString();
- textBoxSchool.Text =ea.Result.School;
- textBoxMajor.Text =ea.Result.Major;
- };
- client.GetPersonAsync();
- }
- }
- }
11、將DataHighwayTestPage.html設(shè)置為Start Page,運(yùn)行程序
上圖中是在客戶(hù)端顯示,而Jun Tang同學(xué)的個(gè)人信息卻是從服務(wù)端通過(guò)WCF服務(wù)傳過(guò)來(lái)的。
目標(biāo)圓滿(mǎn)達(dá)成!
原文鏈接:http://www.cnblogs.com/rosting/archive/2011/09/08/2171867.html
網(wǎng)頁(yè)題目:用WCF鏈接Silverlight客戶(hù)端與服務(wù)端
當(dāng)前鏈接:http://fisionsoft.com.cn/article/coheodi.html


咨詢(xún)
建站咨詢(xún)
