托管环境中的MSMQ + WCF

我们将要切换到几个系统,以使用某种类型的可靠体系结构,而使用消息传递就是我们想要做到的。 当时的想法是,我们将使用一些廉价的托管服务(共享的,而不是专用的)来进行呼叫,但是我们需要使呼叫可靠。如果目标服务器不可用,则在失败之前必须重试几次该消息。 访问网页>站点将请求添加到队列>消息传递到目标端点 这可以与共享主机一起使用吗?如果WCF + MSMQ不起作用,还有哪些其他选择?     
已邀请:
如果您能够使用Server 2008通过netMsmqBinding端点为WCF服务提供呼叫共享主机的功能,则可以利用MSMQ 4增强的失败消息处理功能。只需少量额外的编码,就可以将WCF netMsmqBinding配置为自动重试失败的消息,并将失败的消息从队列移到特殊的毒害队列,以便服务可以继续处理消息。一旦可以再次访问共享主机,您可以将消息从病毒队列手动移回主要消息组以进行重新处理,也可以编写另一个服务来自动处理此任务。在MSDN上的这篇文章应该是设置基于MSMQ的WCF服务的一个良好的开始,并且本文展示了有毒消息处理的工作方式。     
在共享的托管环境中,由主机决定是否允许您使用MSMQ(甚至是您无法自行安装的RabbitQ)。 WCF over MSMQ的工作原理是WCF将消息写入队列,然后MSMQ处理消息到目标的传递,然后使用消息激活WCF,就像您通过SOAP调用它一样。 底线是:您将需要检查您的主机是否允许消息队列。如果这样做,请确保为它们添加安全性,以使服务器上的其他站点无法访问它们。 如果服务器上未安装MSMQ,则无法使用net MsmqBinding     

要回复问题请先登录注册