public static void EnqueueJobId(string queue, string jobId) { using (var messageQueue = CleanMsmqQueueAttribute.GetMessageQueue(queue)) using (var message = new Message { Body = jobId, Label = jobId, Formatter = new BinaryMessageFormatter() }) using (var transaction = new MessageQueueTransaction()) { transaction.Begin(); messageQueue.Send(message, transaction); transaction.Commit(); } }
public static string DequeueJobId(string queue, TimeSpan timeout) { using (var messageQueue = CleanMsmqQueueAttribute.GetMessageQueue(queue)) using (var transaction = new MessageQueueTransaction()) { transaction.Begin(); using (var message = messageQueue.Receive(timeout, transaction)) { message.Formatter = new BinaryMessageFormatter(); transaction.Commit(); return((string)message.Body); } } }
public void Enqueue_SendsTheJobId() { // Arrange var queue = CreateQueue(MsmqTransactionType.Internal); // Act queue.Enqueue(_connection.Object, "my-queue", "job-id"); // Assert using (var messageQueue = CleanMsmqQueueAttribute.GetMessageQueue("my-queue")) using (var transaction = new MessageQueueTransaction()) { transaction.Begin(); var message = messageQueue.Receive(TimeSpan.FromSeconds(5), transaction); Assert.Equal("job-id", message.Label); transaction.Commit(); } }
public void Enqueue_AddsAJob_WhenIdIsLongValue() { // Arrange var queue = CreateQueue(MsmqTransactionType.Internal); // Act queue.Enqueue(_connection.Object, "my-queue", (int.MaxValue + 1L).ToString()); // Assert using (var messageQueue = CleanMsmqQueueAttribute.GetMessageQueue("my-queue")) using (var transaction = new MessageQueueTransaction()) { transaction.Begin(); var message = messageQueue.Receive(TimeSpan.FromSeconds(5), transaction); Assert.Equal((int.MaxValue + 1L).ToString(), message.Label); transaction.Commit(); } }