0

我正在阅读 Programming WCF Services 第三版。朱瓦尔·洛伊。在涵盖 NetMsmqBinding 的“队列服务”一章中,在第 473 页,他说“......您应该保持服务对队列调用的处理相对较短,否则有中止播放事务的风险。这里的一个重要观察是它是错误的将排队的呼叫与冗长的异步呼叫等同起来。”

1) 什么是短调用?2) 什么是长期运行的最佳实践;send 将它们发送到 ThreadPool?

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

我看了又看,在互联网上找不到任何关于这个问题的最佳实践。

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

4

1 回答 1

0

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

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

于 2013-09-03T14:18:17.307 回答