最近正在开发一个项目,需要应用到Silverlight以及数据库。在正式开工之前需要掌握将数据从服务端送到客户端的技术,我们采用建立WCF服务的方法。
“做中学”是最好的学习方法,真正实践之后学习者将会有更多的自信和把握,这种感觉将激励他更好的走下去,这也就是“Hello World”的意义之一。
本文讲述如何一步一步搭建,完成借助WCF建立起Silverlight客户端和服务端的信息传输通道。
这里的解决方案使用Visual Studio 10,.Net Framework 4.0, Silverlight 4.0
1.建立名为DataHighway的Silverlight Application
下图中,Project DataHighway是客户端,Project DataHighway.Web是服务端。
2、新建两个项目。
创建名为DataHighway.Client的Silverlight Class Library,它是配合用户端的。
创建名为DataHighway.Server的Class Library,它是配合服务端的。
为两个新建项目设置统一的命名空间
3、我们设计在客户端和服务端可以传输一个类,里面装着一个人的基本信息。
在DataHighway.Client增加一个类,名为Person,在DataHighway.Client中生成Person.cs文件。
这个类要由客户端和服务端共享,而服务端并不支持System.Windows类库,所以在Person.cs中删除其System.Windows系列的引用。创建Person 类如下
1 using System;
2 using System.Net;
3
4 namespace DataHighway.Classes
5 {
6 public class Person
7 {
8 public string Name { get; set; }
9 public int Age;
10 public string School { get; set; }
11 public string Major { get; set; }
12 }
13 }
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
如下图电脑开机信息各是什么?
6.在项目DataHighway.Web中添加到DataHighway.Server的引用(Add Reference)
如下图所示
7. 创建WCF函数,返回Person类Java的appendReplacement用法指南
在PersonService.svc.cs中修改代码
首先添加引用命名空间
using DataHighway.Classes;
然后修改PersonService.svc.cs代码如下:
1 using System;
2 using System.Linq;
3 using System.Runtime.Serialization;
4 using System.ServiceModel;
5 using System.ServiceModel.Activation;
6 using DataHighway.Classes;
7
8 namespace DataHighway.Web
9 {
10 [ServiceContract(Namespace = "")]
11 [SilverlightFaultBehavior]
12 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
13 public class PersonService
14 {
15 [OperationContract]
16 public Person GetPerson()
17 {
18 return new Person()
19 {
20 Name = "Jun Tang",
21 Age = 20,
22 School = "University of Science and Technology of China",
23 Major = "Computer Science"
24 };
25 }
26 }
27 }
8.在客户端添加WCF服务引用
将PersonService.svc设置为Start Page,按F5进入Debug模式,记下PersonService.svc的地址
http://localhost:25688/PersonService.svc
右键DataHighway工程,添加服务引用(Add Service Reference),将刚才保存的地址复制进去
单击Advanced,确认Reuse types in all referenced assemblies,如下图
9.设计UI界面
使之能够明了的现实Person的各个属性
10.在客户端使用WCF服务
在客户端中添加引用(Add Reference)
在
MainPage.xaml.cs中添加引用
using DataHighway.Classes;
using DataHighway.PersonServices;
然后在MainPage.xaml.cs修改代码
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Net;
5 using System.Windows;
6 using System.Windows.Controls;
7 using System.Windows.Documents;
8 using System.Windows.Input;
9 using System.Windows.Media;
10 using System.Windows.Media.Animation;
11 using System.Windows.Shapes;
12 using DataHighway.Classes;
13 using DataHighway.PersonServices;
14
15 namespace DataHighway
16 {
17 public partial class MainPage : UserControl
18 {
19 public MainPage()
20 {
21 InitializeComponent();
22 ClientTest();
23 }
24 void ClientTest()
25 {
26 var client = new PersonServiceClient();
27 client.GetPersonCompleted += (sender, ea) =>
28 {
29 textBoxName.Text = ea.Result.Name;
30 textBoxAge.Text = ea.Result.Age.ToString();
31 textBoxSchool.Text = ea.Result.School;
32 textBoxMajor.Text = ea.Result.Major;
33 };
34 client.GetPersonAsync();
35 }
36
37 }
38 }
11、将DataHighwayTestPage.html设置为Start Page,运行程序
上图中是在客户端显示,而Jun Tang同学的个人信息却是从服务端通过WCF服务传过来的。
目标圆满达成!
分享到:
相关推荐
wcf服务端与客户端的例子
分享wcf http绑定方式的客户端调用,和wcf http绑定服务端配合使用,供大学共同学习提高!分享无处不在
本工程实现了内部集成了四个工程,实现了gsoap与WCF互为客户端和服务端进行通信,即实现了gsoap做客户端与gsoap或WCF作服务端的通信、WCF作客户端与gsoap或WCF作服务端的通信,工程接口简洁,易于移植,欢迎下载交流...
wcf服务端主动向客户端推送消息、包含源码和可执行文件。
由于上次发错文件,现在给大家补回!里面包含搭建WCF架构的 数据库、服务端、客户端,(仅供参考)
使用C#/.NET中的WCF服务实现聊天客户端+服务端(带宿主程序),功能有好友上线和线下,点对点聊天。群发功能可以参考上线和线下完成。
WCF通信预先客户端直接主动调用服务端的方法,从而获取服务端方法执行的结果;从而判断服务端方法执行是否成功。例如:运动控制与视觉进行通信,以前以TCP通信进行交互,需要过多的判断;而采用WCF通信,就允许运动...
WCF服务简单实例(包含服务端程序,和C#客户端调用程序
WCF心跳判断服务端及客户端是否掉线并实现重连接
使用WCF实现服务器向客户端的信息推送,你说CSDN提示描述长度不够,写那么长的内容干什么呢?
wcf 服务,网页端向客户端发送消息,可以修改弹幕,源码提供。
代码规范清晰。非常适合学习。 wcf实现服务端主动向客户端推送消息
wcf教程客户端服务端代码示例,了解wcf的原理。
代码配置WCF服务端和客户端。只是个例子,并不复杂。只是个简单实现。如果需要程序的项目,就不要看了。 实现客户端和服务端基于代码的方式设置,互相访问。
1、不引用服务使用WCF,手动编写代理类 (客户端向服务端登录+心跳,服务端向客户端发送开关机命令) 2、局域网内远程开关机 (开机:广播模式,远程唤醒 关机:wcf调用客户端关机程序)
这是一款比较完整的demo,对初学wcf的非常有用... WCF的客户端和服务端如何创建。解决WCF开发中常见的问题学习到独家WCF开发技巧和核心技术。学会如何创建window服务和部署window服务。最简单最易看懂的WCF完整的源码。
WCF文件上传实例服务端和客户端本人测试可以用
WCF http绑定服务端,分享.net 中wcf的http绑定方式,分服务端和客户端,分享,供大家一起学习,提高!
WCF 的Credential 用户验证实现源代码,包含了客户端和服务端
wcf在dotnet智能客户端开发中的应用 wcf在dotnet智能客户端开发中的应用