长时间运行WCF MSMQ处理

时间:2013-08-11 01:09:12

标签: wcf netmsmqbinding msmq-wcf

我正在阅读编程WCF服务第3版。作者:Juval Lowy。在涵盖NetMsmqBinding的“排队服务”一章中,他说:“......你应该保持服务对排队呼叫的处理时间相对较短,否则可能导致播放事务中止。这里一个重要的观察是错误的将排队的调用与冗长的异步调用等同起来。“

1)什么是短暂的通话? 2)长期运行的最佳做法是什么;发送它们发送到ThreadPool?

本文在实践中遇到了同样的问题: WCF & MSMQ & TransactionScope long process

我看了看,我在互联网上找不到关于此事的最佳做法。

3)如果我没有交易,这条规则是否适用?

1 个答案:

答案 0 :(得分:0)

1)默认情况下,带有事务的短进程需要不到10分钟(默认事务超时) 2)可以,但如果你这样做,你将失去交易行为(如果服务器关闭,消息将丢失) 3)是的。默认情况下,事务范围具有将中止事务的默认超时。

好消息是你可以在machine.config文件上覆盖该超时:http://blogs.inkeysolutions.com/2012/01/managing-timeouts-while-using.html