程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Enterprise Library Step By Step系列(十四)

Enterprise Library Step By Step系列(十四)

編輯:關於.NET

Enterprise 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 Files\Microsoft Enterprise Library\bin下,運行如下命令:

installutil/iMsmqDistributor.exe

注意:必須要以這種方式安裝服務,否則安裝不成功。2.安裝過程中會彈出一個設置服務登錄對話框,要求輸入用戶名和密碼。此時用戶名和密碼的形式必須以域用戶的形式輸入,用<.\username>的形式也是可以的,如下圖所示:

3.啟動服務。我們在服務管理器裡面找到Enterprise Library Logging Distributor Service這項服務,手工啟動它。

4.用文本編輯器打開MsmqDistributor.exe.config文件,刪除如下這節:

<configurationSections>
  <configurationSection name="loggingConfiguration" encrypt="false">
   <storageProvider xsi:type="XmlFileStorageProviderData" name="XML File Storage Provider" path="loggingConfiguration.config" />
   <dataTransformer xsi:type="XmlSerializerTransformerData" name="Xml Serializer Transformer">
    <includeTypes />
   </dataTransformer>
</configurationSection>

5.用Configuration Console, 打開 MsmqDistributor.exe.config 文件

將 MSMQ Distributor Service 添加到 Distributor Settings,如下圖所示:

6.設定 MsmqPath 屬性匹配 Client 的隊列名,我們可以修改MsmqPath的值,但是該值必須與我們應用程序中的Client配置的一致。

三.使用MSMQ創建異步日志1.我們前面說過,Client Settings 決定分發策略,一個Client的所有消息使用同一個策略。所以我們不能同時創建兩個策略,必須先刪除In Process後,才能創建MSMQ:

2.創建MSMQ分發策略之後,注意隊列名必須和我們剛才在第二節裡面所說的一致:

3.其他的操作就跟我在Enterprise Library Step By Step系列裡面寫的一樣了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved