Welcome

首页 / 软件开发 / .NET编程技术 / Enterprise Library Step By Step系列(十四)

Enterprise Library Step By Step系列(十四)2011-01-28 cnblogs terryleeEnterprise Library Step By Step系列(十四):创建基于消息队列(MSMQ)的异步日志

一.概述

在Enterprise Library Step By Step系列里我们说过,日志和检测应用程序块主要由2部分组成:Client和Distributor。Client负责创建消息,这些消息将由Distributor写入目标位置。Client根据分发策略(Distribution Strategies)发送消息到Distributor,在Application Block中提供了2个分发策略:In Process和MSMQ,默认的是In Process策略。同步日志是在Client进程中完成的,而异步日志是利用了MSMQ来实现的,Client需要创建日志消息并发送到MSMQ消息队列。另外一个进程则等待到达的消息,并写入合适的日志接收池应用程序块中包含一个Windows Service: MSMQ Distributor Service。当安装该服务后,该服务会在指定的时间间隔检测消息队列。我们看一下日志和监测应用程序块处理的流程图:

二.安装并配置MSMQ Distributor Service1.打开Visual Studio命令行工具,切换到目录(默认的企业库安装路径)C:Program FilesMicrosoft Enterprise Libraryin下,运行如下命令:

installutil/iMsmqDistributor.exe

注意:必须要以这种方式安装服务,否则安装不成功。2.安装过程中会弹出一个设置服务登录对话框,要求输入用户名和密码。此时用户名和密码的形式必须以域用户的形式输入,用<.username>的形式也是可以的,如下图所示: