|
在之前的两篇文章中,主要介绍了RabbitMQ环境配置,简单示例的编写。今天将会介绍如何使用WCF将RabbitMQ列队以服务的方式进行发布。
注:因为RabbitMQ的官方.NET客户端中包括了WCF的SAMPLE代码演示,很适合初学者,所以我就偷了个懒,直接对照它的SAMPLE来说明了,算是借花献佛吧,呵呵。首先我们下载相应源码(基于.NET 3.0),本文主要对该源码包中的代码进行讲解,链接如下:
Binary, compiled for .NET 3.0 and newer (zip) - includes example code, the WCF binding and WCF examples
当然官方还提供了基本.NET 2.0 版本的示例版本,但其中只是一些简单的示例,并不包括WCF部分,这里只发个链接,感兴趣的朋友可自行研究。
Binary, compiled for .NET 2.0 (zip) - includes example code
下载基于.NET 3.0的版本源码之后,解压其中的projects/examples/wcf目录,可看到如下的项目: 几个文件夹分别对应如下应用场景:
OneWay: 单向通信(无返回值)
TwoWay: 双向通信(请求/响应)
Session:会话方式
Duplex: 双向通信(可以指定一个Callback回调函数)
OneWay
在OneWayTest示例中,演示了插入日志数据,因为日志操作一般只是单纯的写入操作,不考虑返回值,所以使用OneWay方式。下面是其WCF接口声明和实例代码,如下:
public interface ILogServiceContract
{
[OperationContract(IsOneWay=true)]
void Log(LogData entry);
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class LogService : ILogServiceContract
{
public int m_i;
public void Log(LogData entry)
{
Util.WriteLine(ConsoleColor.Magenta, " [SVC] {3} [{0,-6}] {1, 12}: {2}", entry.Level, entry.TimeStamp, entry.Message, m_i++);
}
}
NET技术:NET下RabbitMQ实践 [WCF发布篇],转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。