我正在用C#创建一个Windows服务。
收听邮件的最佳方式是什么?我该如何正确编码?
答案 0 :(得分:6)
你不听。您可以配置MSMQ Activation以在邮件到达时激活您的组件。该链接包含您需要的所有详细信息,代码和配置。
答案 1 :(得分:2)
如前所述,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
}
}