我是MSMQ的新手并且有这个简单的疑问。如果处理代码中发生异常,如何将消息替换为msmq。我正在使用MSMQ和WCF并在这个例子上工作:http://www.codeproject.com/Articles/34168/WCF-Queued-Messaging
客户端将消息发送到请求队列,服务器将其读取并将响应发送到响应队列。据我所知,当服务器启动并运行时,它将从队列中读取消息并对其进行处理。在我的情况下,我需要将从请求队列中读取的消息替换回来,以便可以再次处理它。我怎样才能做到这一点?
以下是客户端调用的服务器方法(配置为 netMsmqBinding 的wcf服务):
public void SendCreditLimitRequest(string id)
{
// process id
// In case of exception "id" should reenter the queue
}
答案 0 :(得分:1)
您需要在消息队列上启用DTC并在代码上使用事务范围。