WEB开发网
开发学院WEB开发ASP.NET 稳扎稳打Silverlight(53) - 4.0通信之对WCF NetTc... 阅读

稳扎稳打Silverlight(53) - 4.0通信之对WCF NetTcpBinding的支持

 2010-10-12 12:30:06 来源:WEB开发网   
核心提示:介绍Silverlight 4.0 通信方面的增强:* NetTcpBinding - 通过 NetTcpBinding 与 WCF 服务进行通信* 支持在 Socket 通信中通过 HTTP 的方式检索策略文件* HTTP 请求中的 ClientHttp 方式和 BrowserHttp 方式的应用在线DEMOhttp

介绍

Silverlight 4.0 通信方面的增强:

* NetTcpBinding - 通过  NetTcpBinding 与 WCF 服务进行通信

* 支持在 Socket 通信中通过 HTTP 的方式检索策略文件

* HTTP 请求中的 ClientHttp 方式和 BrowserHttp 方式的应用

在线DEMO

http://www.cnblogs.com/webabcd/archive/2010/08/09/1795417.html

示例

1、演示如何通过 NetTcpBinding 与 WCF 进行双向通信

服务端:

IDuplex.cs

代码

/*
 * 双向通信的 Contract
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.ServiceModel;

namespace SocketServer
{
    [ServiceContract(CallbackContract = typeof(IDuplexCallback))]
    public interface IDuplex
    {
        [OperationContract(IsOneWay = true)]
        void HelloDuplex(string msg);
    }

    public interface IDuplexCallback
    {
        [OperationContract(IsOneWay = true)]
        void HelloDuplexCallback(string msg);
    }
}

Duplex.cs

代码

/*
 * 实现 IDuplex 契约
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.ServiceModel;

namespace SocketServer
{
    public class Duplex : IDuplex
    {
        private IDuplexCallback _callback;

        // 服务端方法,其用于被客户端调用
        public void HelloDuplex(string msg)
        {
            Program.Form1.ShowMessage(msg);

            if (_callback == null)
            {
                // 实例化回调接口
                _callback = OperationContext.Current.GetCallbackChannel<IDuplexCallback>();

                // 每一秒调用一次回调接口(即调用客户端的方法)
                System.Timers.Timer timer = new System.Timers.Timer();
                timer.Interval = 3000d;
                timer.Elapsed += delegate { _callback.HelloDuplexCallback("服务端发给客户端的信息:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); };
                timer.Start();
            }
        }
    }
}

1 2 3 4 5 6  下一页

Tags:稳扎稳打 Silverlight 通信

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