稳扎稳打Silverlight(53) - 4.0通信之对WCF NetTcpBinding的支持
2010-10-12 12:30:06 来源:WEB开发网介绍
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();
}
}
}
}
Tags:稳扎稳打 Silverlight 通信
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››稳扎稳打Silverlight(53) - 4.0通信之对WCF NetTc...
- ››稳扎稳打Silverlight(54) - 4.0通信之对UDP协议的...
- ››稳扎稳打Silverlight(55) - 4.0通信之对UDP协议的...
- ››稳扎稳打Silverlight(56) - 4.0通信之与 WCF Data...
- ››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
- ››Silverlight3系列(四)数据绑定 Data Binding 1
更多精彩
赞助商链接