使用Msmq触发器

 

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

  

posted on 2012-11-14 17:45  HTTP500  阅读(654)  评论(0)    收藏  举报