Exemple #1
0
        public bool Send(object msgsnd, System.Messaging.MessageQueueTransactionType transactionType)
        {
            var stm = new MemoryStream();

            new BinaryFormatter().Serialize(stm, msgsnd);
            channel.BasicPublish("", "prueba", null, stm.ToArray());
            return(true);
        }
        public void ResolveLoggerWithMsmqWhenConfigured()
        {
            const string ListenerName  = "Msmq Listener";
            const string FormatterName = "Text Formatter";
            const string Template      = "My template";

            System.Messaging.MessagePriority messagePriority = System.Messaging.MessagePriority.Lowest;
            TimeSpan timeToBeReceived = TimeSpan.MinValue;
            TimeSpan timeToReachQueue = TimeSpan.MaxValue;

            System.Messaging.MessageQueueTransactionType trxType = System.Messaging.MessageQueueTransactionType.Automatic;
            const string QueuePath = "QueuePath";

            configurationStart.LogToCategoryNamed(CategoryName)
            .WithOptions
            .DoNotAutoFlushEntries()
            .SetAsDefaultCategory()
            .ToSourceLevels(SourceLevels.ActivityTracing)
            .SendTo
            .Msmq(ListenerName)
            .UseQueue(QueuePath)
            .AsRecoverable()
            .Prioritize(messagePriority)
            .UseAuthentication()
            .UseDeadLetterQueue()
            .UseEncryption()
            .WithTransactionType(trxType)
            .SetTimeToBeReceived(timeToBeReceived)
            .SetTimeToReachQueue(timeToReachQueue)
            .WithTraceOptions(TraceOptions.None)
            .Filter(SourceLevels.Verbose)
            .FormatWith(new FormatterBuilder()
                        .TextFormatterNamed(FormatterName)
                        .UsingTemplate(Template));

            this.SetConfigurationSource();

            LogWriterFactory factory = new LogWriterFactory((e) => this.ConfigurationSource.GetSection(e));

            this.writer = factory.Create();

            Assert.IsNotNull(this.writer);

            Assert.AreEqual(typeof(MsmqTraceListener), writer.TraceSources[CategoryName].Listeners.First().GetType());
        }
Exemple #3
0
 public System.Messaging.Message Receive(System.Messaging.MessageQueueTransactionType messageQueueTransactionType)
 {
     return(Receive(TimeSpan.MaxValue));
 }
        public void ConfigurationIsCorrectWhenConfiguringLoggingWithMsmq()
        {
            const string QueuePath     = "QueuePath";
            const string ListenerName  = "Msmq Listener";
            const string FormatterName = "Text Formatter";
            const string Template      = "My template";

            System.Messaging.MessagePriority messagePriority = System.Messaging.MessagePriority.Lowest;
            TimeSpan timeToBeReceived = TimeSpan.MinValue;
            TimeSpan timeToReachQueue = TimeSpan.MaxValue;

            System.Messaging.MessageQueueTransactionType trxType = System.Messaging.MessageQueueTransactionType.Automatic;

            configurationStart.LogToCategoryNamed(CategoryName)
            .WithOptions
            .DoNotAutoFlushEntries()
            .SetAsDefaultCategory()
            .ToSourceLevels(SourceLevels.ActivityTracing)
            .SendTo
            .Msmq(ListenerName)
            .UseQueue(QueuePath)
            .AsRecoverable()
            .Prioritize(messagePriority)
            .UseAuthentication()
            .UseDeadLetterQueue()
            .UseEncryption()
            .WithTransactionType(trxType)
            .SetTimeToBeReceived(timeToBeReceived)
            .SetTimeToReachQueue(timeToReachQueue)
            .WithTraceOptions(TraceOptions.None)
            .Filter(SourceLevels.Verbose)
            .FormatWith(new FormatterBuilder()
                        .TextFormatterNamed(FormatterName)
                        .UsingTemplate(Template));

            LoggingSettings settings = GetLoggingSettings();

            Assert.IsNotNull(settings);

            Assert.AreEqual(LoggingFixtureBase.CategoryName, settings.DefaultCategory);
            Assert.AreEqual(1, settings.TraceSources.Count);

            var traceSource = settings.TraceSources.Get(0);

            Assert.IsFalse(traceSource.AutoFlush);
            Assert.AreEqual(SourceLevels.ActivityTracing, traceSource.DefaultLevel);
            Assert.AreEqual(ListenerName, traceSource.TraceListeners.Get(0).Name);
            Assert.AreEqual(1, settings.TraceListeners.Count);

            var msmqLogListener = settings.TraceListeners.Get(0) as MsmqTraceListenerData;

            Assert.IsNotNull(msmqLogListener);
            Assert.AreEqual(ListenerName, msmqLogListener.Name);
            Assert.AreEqual(messagePriority, msmqLogListener.MessagePriority);
            Assert.AreEqual(QueuePath, msmqLogListener.QueuePath);

            Assert.AreEqual(true, msmqLogListener.Recoverable);
            Assert.AreEqual(timeToBeReceived, msmqLogListener.TimeToBeReceived);
            Assert.AreEqual(timeToReachQueue, msmqLogListener.TimeToReachQueue);
            Assert.AreEqual(trxType, msmqLogListener.TransactionType);
            Assert.AreEqual(true, msmqLogListener.UseAuthentication);
            Assert.AreEqual(true, msmqLogListener.UseDeadLetterQueue);
            Assert.AreEqual(true, msmqLogListener.UseEncryption);
            Assert.AreEqual(SourceLevels.Verbose, msmqLogListener.Filter);
            Assert.AreEqual(TraceOptions.None, msmqLogListener.TraceOutputOptions);
            Assert.AreEqual(FormatterName, msmqLogListener.Formatter);
            Assert.AreEqual(1, settings.Formatters.Count);

            var formatter = settings.Formatters.Get(FormatterName) as TextFormatterData;

            Assert.IsNotNull(formatter);
            Assert.AreEqual(Template, formatter.Template);
        }