本文整理汇总了C#中System.Messaging.MessageQueue.GetNextMessage方法的典型用法代码示例。如果您正苦于以下问题:C# MessageQueue.GetNextMessage方法的具体用法?C# MessageQueue.GetNextMessage怎么用?C# MessageQueue.GetNextMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Messaging.MessageQueue
的用法示例。
在下文中一共展示了MessageQueue.GetNextMessage方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CanSendOldFormat
public void CanSendOldFormat()
{
_bus.Advanced.Routing.Send(_oldEndpoint, new OldSchoolMessage { KeyChar = "g" }).Wait();
using (var queue = new MessageQueue(MsmqUtil.GetFullPath(_oldEndpoint)))
{
var message = queue.GetNextMessage();
using (var streamReader = new StreamReader(message.BodyStream, Encoding.UTF7))
{
var jsonText = streamReader.ReadToEnd();
Assert.That(jsonText.ToNormalizedJson(), Is.EqualTo(ValidLegacyRebusMessage.ToNormalizedJson()));
}
var headers = message.DeserializeHeaders();
Console.WriteLine(@"Headers:
{0}", string.Join(Environment.NewLine, headers.Select(kvp => $" {kvp.Key}: {kvp.Value}")));
Assert.That(headers["rebus-msg-id"], Is.Not.Empty);
Assert.That(headers["rebus-content-type"], Is.EqualTo("text/json"));
Assert.That(headers["rebus-encoding"], Is.EqualTo("utf-7"));
Assert.That(headers["rebus-return-address"], Is.EqualTo(_newEndpoint + "@" + Environment.MachineName));
}
}
示例2: CanSubcribeWithOldSchoolSubscriptionRequest
public async Task CanSubcribeWithOldSchoolSubscriptionRequest()
{
await _bus.Subscribe<string>();
await Task.Delay(500);
using (var queue = new MessageQueue(MsmqUtil.GetFullPath(_oldEndpoint)))
{
var message = queue.GetNextMessage();
var headers = message.DeserializeHeaders();
using (var streamReader = new StreamReader(message.BodyStream, Encoding.UTF7))
{
var jsonText = streamReader.ReadToEnd();
Assert.That(jsonText.ToNormalizedJson(), Is.EqualTo(ExpectedStringSubscriptionRequest.ToNormalizedJson()));
}
}
}