servicemessagemapper.cs

来自「SQL Server 2005 Service Broker (SSB) is 」· CS 代码 · 共 56 行

CS
56
字号
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace SSBExternalActivationRouter
{
    class ServiceMessageMapper
    {
        protected ITransactedMessageMediator _mediator;
        protected RouterControllerSignal _mainSignal;

        protected ServiceMessageMapperSignal _mySignal;

        string _myID = "";


        public ServiceMessageMapper(string IDValue,ITransactedMessageMediator med, RouterControllerSignal signal)
        {
            _mediator = med;
            _mainSignal = signal;

            _mySignal = new ServiceMessageMapperSignal(signal);

            _myID = IDValue;
        }

        public string MessageMapperID
        {
            get
            {
                return (_myID);
            }
        }

        public void Run()
        {
            SSBConversationMediator convMed = new SSBConversationMediator(_mediator, _mySignal);

            convMed.OpenChannels(ConfigInfo.Source(),ConfigInfo.Destination(this.MessageMapperID));

            //Run until the queue is empty then pause and check again.
            while (_mainSignal.ContinueProcessing)
            {
                if (convMed.IsConversationToProcess())
                {
                    convMed.Process();
                }

                Thread.Sleep(3000);
            }

        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?