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.接收的消息