Silverlight(23) - 2.0通信之调用WCF的双向通信(Duplex Service)
2008-12-18 11:54:25 来源:WEB开发网本文源代码下载地址:
http://flashview.ddvip.com/2008_12/Silverlight.rar
介绍
Silverlight 2.0 调用 WCF 的双向通信服务(Duplex Service) 。开发一个服务端主动向客服端发送股票信息的程序,首先客户端先向服务端发送需要监控的股票的股票代码,然后服务端在该股信息发生变化的时候将信息推送到客户端。
服务端:
定义服务契约及回调接口
从当前上下文获取回调的客户端信道
需要的话则向客户端信道“推”消息
客户端:
构造 PollingDuplexHttpBinding 并在其上创建 IDuplexSessionChannel 的信道工厂
异步方式打开信道工厂
异步方式打开信道
构造需要发送到服务端的消息 System.ServiceModel.Channels.Message
异步向服务端发送消息
监听指定信道,用于异步方式接收服务端返回的消息
不需要再接收服务端的消息则关闭信道
示例
服务端:
IDuplexService.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.ServiceModel.Channels;
/**//// <summary>
/// IDuplexService - 双工(Duplex)服务契约
/// CallbackContract - 双工(Duplex)服务的回调类型
/// </summary>
[ServiceContract(Namespace = "Silverlight20", CallbackContract = typeof(IDuplexClient))]
public interface IDuplexService
{
/**//// <summary>
/// 客户端向服务端发送消息的方法
/// </summary>
/// <param name="receivedMessage">客户端向服务端发送的消息 System.ServiceModel.Channels.Message</param>
[OperationContract(IsOneWay = true)]
void SendStockCode(Message receivedMessage);
}
/**//// <summary>
/// 双工(Duplex)服务的回调接口
/// </summary>
public interface IDuplexClient
{
/**//// <summary>
/// 客户端接收服务端发送过来的消息的方法
/// </summary>
/// <param name="returnMessage">服务端向客户端发送的消息 System.ServiceModel.Channels.Message</param>
[OperationContract(IsOneWay = true)]
void ReceiveStockMessage(Message returnMessage);
}
Tags:Silverlight 通信 调用
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››调用已注册会员人数和最新会员名称
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››Silverlight for Symbian
- ››调用android系统自带功能
- ››调用HHA_CompileHHP编译chm工程
- ››调用所有的 android activity 的实现
- ››调用 Android 内置图片的方法
赞助商链接