MSMQ之觸發器
使用 msmq 中的trigger 可以主動啟動Exe程式并設定要傳什麼參數,比自己寫代碼輪詢一個queue 中的消息,則友善很多。
安裝 MSMQ 、 MSMQ Triggers

設定MSMQ 與 MSMQ Triggers
1.打開【計算機管理】->【服務與應用程式】->【消息隊列】
2.建立【專用隊列】
3.建立規則
,名為“TriggerTestRule”
,規則條件可以為空。
,選擇要觸發的應用程式。
,設定要傳的參數。
4.建立觸發器,并附件剛才建立的規則
程式代碼
1.發送消息
using System;
using System.Messaging;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
try
{
var myMessageQ = new MessageQueue(@".\Private$\MqTriggerTest");
var mt = new MessageQueueTransaction();
mt.Begin();
var message = new Message
{
Formatter = new ActiveXMessageFormatter(),
Body = @"Msmq觸發器測試消息123!",
Label = "test123"
};
myMessageQ.Send(message, mt);
mt.Commit();
myMessageQ.Close();
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
}
}
}
2.觸發程式
using System.IO;
namespace MsmqTriggerExe
{
internal class Program
{
private static void Main(string[] args)
{
using (var writer = new StreamWriter(File.Open(@"d:\msmq.txt", FileMode.Append)))
{
for (int i = 0; i < args.Length; i++)
{
writer.WriteLine("{0} - {1}", i, args[i]);
}
writer.WriteLine();
writer.Flush();
}
}
}
}
3.接收的消息