Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 如何从发送消息中获取返回值,并将返回值作为第二条消息的一部分包含在MSMQ中?_Visual Studio 2010_C# 4.0_Windows Server 2008_Msmq - Fatal编程技术网

Visual studio 2010 如何从发送消息中获取返回值,并将返回值作为第二条消息的一部分包含在MSMQ中?

Visual studio 2010 如何从发送消息中获取返回值,并将返回值作为第二条消息的一部分包含在MSMQ中?,visual-studio-2010,c#-4.0,windows-server-2008,msmq,Visual Studio 2010,C# 4.0,Windows Server 2008,Msmq,我是MSMQ 4.0的新手。我被下面的情景困住了; 服务A获取用户详细信息并返回用户ID。 然后服务B使用用户ID获取账单明细。 现在我必须对这些步骤进行排队。我计划使用事务队列。 谁能帮我一下吗 1) 从第一条消息中获取ID并将其包含在第二条消息中。 2) 如果至少一个步骤失败,我必须回滚(事务队列为我执行)重试或5次,如果仍然失败,则将其移动到VerifyAdminQueue以供管理员验证。我不喜欢使用死信队列等 提前感谢。使用MSMQ队列构建的服务确实是单向的。这意味着没有内置的响应概念。

我是MSMQ 4.0的新手。我被下面的情景困住了; 服务A获取用户详细信息并返回用户ID。 然后服务B使用用户ID获取账单明细。 现在我必须对这些步骤进行排队。我计划使用事务队列。 谁能帮我一下吗 1) 从第一条消息中获取ID并将其包含在第二条消息中。 2) 如果至少一个步骤失败,我必须回滚(事务队列为我执行)重试或5次,如果仍然失败,则将其移动到VerifyAdminQueue以供管理员验证。我不喜欢使用死信队列等


提前感谢。

使用MSMQ队列构建的服务确实是单向的。这意味着没有内置的响应概念。有许多方法可以使用MSMQ实现请求-响应通信模式,但是使用所有这些方法,您需要自己构造并将响应发送回调用方

对于单向操作,回滚非常简单,实际上,MSMQ将回滚消息传输中的任何失败步骤。但是,更复杂的操作(如请求-响应)在MSMQ中缺乏任何事务概念,因此跨多个消息传输步骤的任何回滚都需要编写补偿代码