WEB开发网
开发学院图形图像Flash Silverlight(23) - 2.0通信之调用WCF的双向通信(D... 阅读

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) ,开发一个服务端主动向客服端发送股票信息的程序,Silverlight(23) - 2.0通信之调用W

本文源代码下载地址:

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);
}

1 2 3 4  下一页

Tags:Silverlight 通信 调用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接