示例#1
0
        public bool SendMessage(EventMessage message, string eventName, bool encryptMessage)
        {
            //set the sent date if it wasn't set by the sender
            if (message.SentDate == DateTime.MinValue)
            {
                message.SentDate = DateTime.Now;
            }

            string[] subscribers = new string[0];
            if (EventQueueConfiguration.GetConfig().PublishedEvents[eventName] != null)
            {
                subscribers = EventQueueConfiguration.GetConfig().PublishedEvents[eventName].Subscribers.Split(";".ToCharArray());
            }
            else
            {
                subscribers[0] = "";
            }
            //send a message for each subscriber of the specified event
            for (int indx = 0; indx <= subscribers.Length - 1; indx++)
            {
                StreamWriter oStream       = File.CreateText(m_messagePath + MessageName(eventName, subscribers[indx], message.ID));
                string       messageString = message.Serialize();
                if (encryptMessage)
                {
                    PortalSecurity oPortalSecurity = new PortalSecurity();
                    messageString = oPortalSecurity.Encrypt(EventQueueConfiguration.GetConfig().EventQueueSubscribers[subscribers[indx]].PrivateKey, messageString);
                }
                oStream.WriteLine(messageString);
                oStream.Close();
            }

            return(true);
        }
        public bool SendMessage( EventMessage message, string eventName, bool encryptMessage )
        {
            //set the sent date if it wasn't set by the sender
            if( message.SentDate == DateTime.MinValue )
            {
                message.SentDate = DateTime.Now;
            }

            string[] subscribers = new string[0];
            if( EventQueueConfiguration.GetConfig().PublishedEvents[eventName] != null )
            {
                subscribers = EventQueueConfiguration.GetConfig().PublishedEvents[eventName].Subscribers.Split( ";".ToCharArray() );
            }
            else
            {
                subscribers[0] = "";
            }
            //send a message for each subscriber of the specified event
            for( int indx = 0; indx <= subscribers.Length - 1; indx++ )
            {
                StreamWriter oStream = File.CreateText( m_messagePath + MessageName( eventName, subscribers[indx], message.ID ) );
                string messageString = message.Serialize();
                if( encryptMessage )
                {
                    PortalSecurity oPortalSecurity = new PortalSecurity();
                    messageString = oPortalSecurity.Encrypt( EventQueueConfiguration.GetConfig().EventQueueSubscribers[subscribers[indx]].PrivateKey, messageString );
                }
                oStream.WriteLine( messageString );
                oStream.Close();
            }

            return true;
        }