2012年,MSMQ是否仍然适用于WCF中的排队呼叫?

2012年,MSMQ是否仍然适用于WCF中的排队呼叫?,wcf,concurrency,msmq,Wcf,Concurrency,Msmq,我创建了一个WCF web服务,它将数据从SQL Server上传到ISeries。当最终用户完成数据输入(批处理)后,他们将“发送”批次号到web服务。然后,web服务将该数据上传到ISeries。不能假设这将是一个快速的过程,并且可能有许多最终用户同时访问web服务。同样地,由于数据库在ISeries上的设置方式,我无法同时上载这些数据,因为我们可能会遇到锁、触发器错误等。因此,我希望以某种方式将这些调用排队,以便按接收顺序完成 我一直在寻找这样做的方法,在2011年和之前讨论MSMQ的时候

我创建了一个WCF web服务,它将数据从SQL Server上传到ISeries。当最终用户完成数据输入(批处理)后,他们将“发送”批次号到web服务。然后,web服务将该数据上传到ISeries。不能假设这将是一个快速的过程,并且可能有许多最终用户同时访问web服务。同样地,由于数据库在ISeries上的设置方式,我无法同时上载这些数据,因为我们可能会遇到锁、触发器错误等。因此,我希望以某种方式将这些调用排队,以便按接收顺序完成


我一直在寻找这样做的方法,在2011年和之前讨论MSMQ的时候有很多信息。这仍然是做这件事的首选方式吗?可重入并发模式是一种更“现代”的选择吗?

有很多替代排队系统。由于您有一个SQL Server,我建议您使用MSMQ。在这种组合中,您可以使用TransactionScope开箱即用来处理跨数据库和排队系统的事务


根据我自己的经验,MSMQ是一个经过验证且稳定的技术堆栈。

+1我支持这一点!使用MSMQ是直接的,WCF使其易于使用。奇怪的是,我确信我在上个星期已经回答了差不多相同的问题。我一定是错过了提交它。。。