本文整理汇总了C#中System.Messaging.MessageQueue.SendLegacyRebusMessage方法的典型用法代码示例。如果您正苦于以下问题:C# MessageQueue.SendLegacyRebusMessage方法的具体用法?C# MessageQueue.SendLegacyRebusMessage怎么用?C# MessageQueue.SendLegacyRebusMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Messaging.MessageQueue
的用法示例。
在下文中一共展示了MessageQueue.SendLegacyRebusMessage方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CorrectlyHandlesMultipleLogicalMessages
public void CorrectlyHandlesMultipleLogicalMessages()
{
var gotWhat = new Dictionary<string, ManualResetEvent>
{
{"a", new ManualResetEvent(false)},
{"b", new ManualResetEvent(false)},
{"c", new ManualResetEvent(false)},
};
_activator.Handle<OldSchoolMessage>(async message =>
{
gotWhat[message.KeyChar].Set();
});
var correlationId = Guid.NewGuid().ToString();
var messageId = Guid.NewGuid().ToString();
var headers = new Dictionary<string, string>
{
{"rebus-return-address", _newEndpoint},
{"rebus-correlation-id", correlationId},
{"rebus-msg-id", messageId},
{"rebus-content-type", "text/json"},
{"rebus-encoding", "utf-7"}
};
var jsonBody = ValidLegacyRebusMessageWithMultipleLogicalMessages;
using (var queue = new MessageQueue(MsmqUtil.GetFullPath(_newEndpoint)))
{
queue.SendLegacyRebusMessage(jsonBody, headers);
}
gotWhat.ForEach(kvp => kvp.Value.WaitOrDie(TimeSpan.FromSeconds(5),
$"Did not get message with KeyChar = '{kvp.Key}'"));
}
示例2: CanReceiveOldFormat
public void CanReceiveOldFormat()
{
var gotIt = new ManualResetEvent(false);
_activator.Handle<OldSchoolMessage>(async message =>
{
if (message.KeyChar == "g")
{
gotIt.Set();
}
});
var correlationId = Guid.NewGuid().ToString();
var messageId = Guid.NewGuid().ToString();
var headers = new Dictionary<string, string>
{
{"rebus-return-address", _newEndpoint},
{"rebus-correlation-id", correlationId},
{"rebus-msg-id", messageId},
{"rebus-content-type", "text/json"},
{"rebus-encoding", "utf-7"}
};
var jsonBody = ValidLegacyRebusMessage;
using (var queue = new MessageQueue(MsmqUtil.GetFullPath(_newEndpoint)))
{
queue.SendLegacyRebusMessage(jsonBody, headers);
}
gotIt.WaitOrDie(TimeSpan.FromSeconds(5));
}
示例3: CanHandleSubscriptionRequest
public async Task CanHandleSubscriptionRequest()
{
var messageId = Guid.NewGuid().ToString();
var headers = new Dictionary<string, string>
{
{"rebus-return-address", _oldEndpoint},
{"rebus-msg-id", messageId},
{"rebus-content-type", "text/json"},
{"rebus-encoding", "utf-7"}
};
using (var queue = new MessageQueue(MsmqUtil.GetFullPath(_newEndpoint)))
{
queue.SendLegacyRebusMessage(SubscriptionRequest, headers);
}
await Task.Delay(1000);
var topic = "NewEndpoint.Messages.NewRequest, NewEndpoint.Messages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null";
Assert.That(_subscriptions.Count, Is.EqualTo(1));
Assert.That(_subscriptions[topic].Count, Is.EqualTo(1));
Assert.That(_subscriptions[topic].First(), Is.EqualTo(_oldEndpoint));
}