Новое в MSMQ ... Моя локальная очередь никогда не получает мое тестовое сообщение.Я подтвердил, что в моем диалоговом окне «Службы» (Vista Ultimate) запущены триггеры очереди сообщений и очереди сообщений.Мысли?
class ConsoleApplication
{
private const string Path = @".\private$\SomeQueue";
static void Main(string[] args)
{
var queue = !MessageQueue.Exists(Path)
? MessageQueue.Create(Path)
: new MessageQueue(Path) { Formatter = new BinaryMessageFormatter() };
queue.ReceiveCompleted += queue_ReceiveCompleted;
queue.BeginReceive();
queue.Send("test message");
Console.ReadLine();
queue.Close();
}
static void queue_ReceiveCompleted(object sender,
ReceiveCompletedEventArgs e)
{
Console.WriteLine("Received message...");
var queue = (MessageQueue)sender;
try
{
var message = queue.EndReceive(e.AsyncResult);
Console.WriteLine("Processing message...");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
queue.BeginReceive();
}
}
}
РЕДАКТИРОВАТЬ: Просто подумал, попробуйте удалить и заново создать очередь с MessageQueue.Delete (Path).И это сработало.Я думаю, моя очередь как-то спряталась.