Получение сообщений MSMQ с помощью службы Windows - PullRequest
3 голосов
/ 05 октября 2009

Я создаю службу Windows в C #.

Как лучше всего слушать сообщения ?? Как мне правильно это написать ??

Ответы [ 2 ]

6 голосов
/ 05 октября 2009

Ты не слушаешь. Вы настраиваете MSMQ Activation для активации вашего компонента при поступлении сообщений. Ссылка содержит всю необходимую информацию, код и конфигурацию.

2 голосов
/ 05 октября 2009

Как уже говорилось, MSMQ Activation, вероятно, является лучшим способом, если вы можете использовать это. Кроме того, вот код, который я использовал:

var ts = new TimeSpan(0, 0, 10);
MessageQueue q = GetQueue<T>();
while (true)
{
  try
  {
    Message msg = q.Receive(ts);
    var t = (T)msg.Body;
    HandleMessage(t);
  }
  catch (MessageQueueException e)
  {
    // Test to see if this was just a timeout.
    // If it was, just continue, there were no msgs waiting
    // If it wasn't, something horrible may have happened
  }
}
...