/// <summary>
 /// Registers the message queue, its creation specified via the factory method
 /// MessageQueueCreatorDelegate, with the provided name in the application context
 /// </summary>
 /// <param name="messageQueueObjectName">Name of the message queue object.</param>
 /// <param name="messageQueueCreatorDelegate">The message queue creator delegate.</param>
 public void RegisterMessageQueue(string messageQueueObjectName,
                          MessageQueueCreatorDelegate messageQueueCreatorDelegate)
 {
     MessageQueueFactoryObject mqfo = new MessageQueueFactoryObject();
     mqfo.MessageCreatorDelegate = messageQueueCreatorDelegate;
     applicationContext.ObjectFactory.RegisterSingleton(messageQueueObjectName, mqfo);
     IDictionary<string, MessageQueueMetadataCache> caches = applicationContext.GetObjects<MessageQueueMetadataCache>();
     foreach (KeyValuePair<string, MessageQueueMetadataCache> entry in caches)
     {
         entry.Value.Insert(mqfo.Path, new MessageQueueMetadata(mqfo.RemoteQueue, mqfo.RemoteQueueIsTransactional));
     }             
 }
Пример #2
0
        /// <summary>
        /// Registers the message queue, its creation specified via the factory method
        /// MessageQueueCreatorDelegate, with the provided name in the application context
        /// </summary>
        /// <param name="messageQueueObjectName">Name of the message queue object.</param>
        /// <param name="messageQueueCreatorDelegate">The message queue creator delegate.</param>
        public void RegisterMessageQueue(string messageQueueObjectName,
                                         MessageQueueCreatorDelegate messageQueueCreatorDelegate)
        {
            MessageQueueFactoryObject mqfo = new MessageQueueFactoryObject();

            mqfo.MessageCreatorDelegate = messageQueueCreatorDelegate;
            applicationContext.ObjectFactory.RegisterSingleton(messageQueueObjectName, mqfo);
            IDictionary caches = applicationContext.GetObjectsOfType(typeof(MessageQueueMetadataCache));

            foreach (DictionaryEntry entry in caches)
            {
                ((MessageQueueMetadataCache)entry.Value).Insert(mqfo.Path, new MessageQueueMetadata(mqfo.RemoteQueue, mqfo.RemoteQueueIsTransactional));
            }
        }
        /// <summary>
        /// Registers the message queue, its creation specified via the factory method
        /// MessageQueueCreatorDelegate, with the provided name in the application context
        /// </summary>
        /// <param name="messageQueueObjectName">Name of the message queue object.</param>
        /// <param name="messageQueueCreatorDelegate">The message queue creator delegate.</param>
        public void RegisterMessageQueue(string messageQueueObjectName,
                                         MessageQueueCreatorDelegate messageQueueCreatorDelegate)
        {
            MessageQueueFactoryObject mqfo = new MessageQueueFactoryObject();

            mqfo.MessageCreatorDelegate = messageQueueCreatorDelegate;
            applicationContext.ObjectFactory.RegisterSingleton(messageQueueObjectName, mqfo);
            IDictionary <string, MessageQueueMetadataCache> caches = applicationContext.GetObjects <MessageQueueMetadataCache>();

            foreach (KeyValuePair <string, MessageQueueMetadataCache> entry in caches)
            {
                entry.Value.Insert(mqfo.Path, new MessageQueueMetadata(mqfo.RemoteQueue, mqfo.RemoteQueueIsTransactional));
            }
        }
 /// <summary>
 /// Registers the message queue, its creation specified via the factory method
 /// MessageQueueCreatorDelegate, with the provided name in the application context
 /// </summary>
 /// <param name="messageQueueObjectName">Name of the message queue object.</param>
 /// <param name="messageQueueCreatorDelegate">The message queue creator delegate.</param>
 public void RegisterMessageQueue(string messageQueueObjectName,
     MessageQueueCreatorDelegate messageQueueCreatorDelegate)
 {
     MessageQueueFactoryObject mqfo = new MessageQueueFactoryObject();
     mqfo.MessageCreatorDelegate = messageQueueCreatorDelegate;
     applicationContext.ObjectFactory.RegisterSingleton(messageQueueObjectName, mqfo);
     IDictionary caches = applicationContext.GetObjectsOfType(typeof(MessageQueueMetadataCache));
     foreach (DictionaryEntry entry in caches)
     {
         ((MessageQueueMetadataCache) entry.Value).Insert(mqfo.Path, new MessageQueueMetadata(mqfo.RemoteQueue, mqfo.RemoteQueueIsTransactional));
     }
 }