コード例 #1
0
        /// <summary>
        /// 订阅消息
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="fail"></param>
        /// <param name="exchange"></param>
        public void Subscribe <T>(Action fail = null, string exchange = ExchangeTypeCode.Direct) where T : class, IBaseMqMessage
        {
            MQEventSource <T>   mqEventSource      = new MQEventSource <T>();
            MQEventListener <T> mqMsgEventListener = new MQEventListener <T>(mqMsgHandler);

            this.Logger(this.GetType(), "订阅消息-Subscribe", () =>
            {
                //订阅事件
                mqMsgEventListener.Subscribe(mqEventSource);

                rabbitMqService.Subscribe <T>(msg =>
                {
                    if (msg != null)
                    {
                        mqEventSource.RaiseNewMsgEvent(msg);
                    }
                }, exchange);
            }, e =>
            {
                mqEventSource.RaiseErrorMsgEvent(e.ToString());

                if (fail != null)
                {
                    fail.Invoke();
                }
            });
        }
コード例 #2
0
        private MQEventListener listener;                               //MQEventListener

        //建構子
        public MSMQSender(MQEventListener eventlistener, String InputHostName, String InputQueueName)
        {
            this.hostName  = InputHostName;                             //設定hostName
            this.queueName = InputQueueName;                            //設定queueName
            listener       = eventlistener;                             //MQEventListener
            connect();                                                  //連線
        }
コード例 #3
0
 //建構子
 public IBMMQSender(MQEventListener eventlistener)
 {
     MQEnvironment.Hostname = hostName;                  //設定MQ的hostName
     MQEnvironment.Channel  = channelName;               //設定MQ的channelName
     MQEnvironment.Port     = port;                      //設定MQ的port
     listener = eventlistener;                           //Listener
     connect();                                          //連線
 }
コード例 #4
0
        //建構子
        public MSMQReceiver(MQEventListener eventlistener)
        {
            listener = eventlistener;                                   //MQEventListener
            connect();                                                  //連線
            Thread startreceive = new Thread(receive);                  //宣告Thread來執行無窮迴圈的receive

            startreceive.Start();                                       //執行Thread
            Thread checkConnect = new Thread(checkconnect);             //宣告Thread來執行無窮迴圈的checkConnect

            checkConnect.Start();                                       //執行Thread
        }
コード例 #5
0
 //建構子
 public IBMMQSender(MQEventListener eventlistener, String hostName, String channelName, int port)
 {
     this.hostName          = hostName;                  //設定host Name
     this.channelName       = channelName;               //設定channelName
     this.port              = port;                      //設定port
     MQEnvironment.Hostname = hostName;                  //設定MQ的hostName
     MQEnvironment.Channel  = channelName;               //設定MQ的channelName
     MQEnvironment.Port     = port;                      //設定MQ的port
     listener = eventlistener;                           //Listener
     connect();                                          //連線
 }
コード例 #6
0
        //建構子
        public MSMQReceiver(MQEventListener eventlistener, String InputHostName)
        {
            this.hostName = InputHostName;                              //設定hostName
            listener      = eventlistener;                              //MQEventListener
            connect();                                                  //連線
            Thread startreceive = new Thread(receive);                  //宣告Thread來執行無窮迴圈的receive

            startreceive.Start();                                       //執行Thread
            Thread checkConnect = new Thread(checkconnect);             //宣告Thread來執行無窮迴圈的checkConnect

            checkConnect.Start();                                       //執行Thread
        }
コード例 #7
0
        //建構子
        public IBMMQReceiver(MQEventListener eventlistener)
        {
            MQEnvironment.Hostname = hostName;                  //設定MQ host Name
            MQEnvironment.Channel  = channelName;               //設定MQ channel Name
            MQEnvironment.Port     = port;                      //設定MQ port
            listener = eventlistener;                           //Listener
            connect();                                          //連線
            Thread startreceive = new Thread(receive);          //宣告Thread來執行receive

            startreceive.Start();                               //開始執行Thread
            Thread checkConnect = new Thread(checkconnect);     //宣告Thread來執行checkconnect

            checkConnect.Start();                               //開始執行Thread
        }
コード例 #8
0
        private MQEventListener listener;                   //Listener

        //建構子
        public IBMMQReceiver(MQEventListener eventlistener, String hostName, String channelName, int port, String queueManegerName, String queueName)
        {
            this.hostName          = hostName;                  //設定host Name
            this.channelName       = channelName;               //設定channel Name
            this.port              = port;                      //設定port
            this.queueManagerName  = queueManegerName;          //設定queue Manager Name
            this.queueName         = queueName;                 //設定queue Name
            MQEnvironment.Hostname = hostName;                  //設定MQ host Name
            MQEnvironment.Channel  = channelName;               //設定MQ channel Name
            MQEnvironment.Port     = port;                      //設定MQ port
            listener = eventlistener;                           //Listener
            connect();                                          //連線
            Thread startreceive = new Thread(receive);          //宣告Thread來執行receive

            startreceive.Start();                               //開始執行Thread
            Thread checkConnect = new Thread(checkconnect);     //宣告Thread來執行checkconnect

            checkConnect.Start();                               //開始執行Thread
        }
コード例 #9
0
 //建構子
 public MSMQSender(MQEventListener eventlistener)
 {
     listener = eventlistener;                                   //MQEventListener
     connect();                                                  //連線
 }