Visual studio 2010 Visual Studio、MSMQ和WCF调试

Visual studio 2010 Visual Studio、MSMQ和WCF调试,visual-studio-2010,wcf,msmq,Visual Studio 2010,Wcf,Msmq,我试图在VS2010中调试一条消息,该消息由WCF从我的事务性MSMQ发送 队列中有1条消息 问题是,如果我放置一个调试断点并将其保留几秒钟,然后转到下一行,我会看到消息再次被重新分发到应用程序,导致帧再次跳回应用程序的起始/入口点 关于如何让它与1信息一起工作,有什么想法吗?(队列上只有一条消息,因此我的问题是如何防止它多次发送) 非常感谢,我怀疑您正在处理WCF超时问题 我相信您的服务会在调试时结束会话。由于在调试会话中未完全处理该消息,因此它会再次从队列中读取该消息,然后从入口点重新启动

我试图在VS2010中调试一条消息,该消息由WCF从我的事务性MSMQ发送

队列中有1条消息

问题是,如果我放置一个调试断点并将其保留几秒钟,然后转到下一行,我会看到消息再次被重新分发到应用程序,导致帧再次跳回应用程序的起始/入口点

关于如何让它与1信息一起工作,有什么想法吗?(队列上只有一条消息,因此我的问题是如何防止它多次发送)


非常感谢,

我怀疑您正在处理WCF超时问题

我相信您的服务会在调试时结束会话。由于在调试会话中未完全处理该消息,因此它会再次从队列中读取该消息,然后从入口点重新启动

您可能希望尝试将
Web.config
servicerences.ClientConfig
文件中的绑定超时设置为更高的值:

<binding name="yourEndpointName" closeTimeout="00:10:00" openTimeout="00:10:00" 
                receiveTimeout="00:10:00" sendTimeout="00:10:00"
                <!-- other config values here --> >

好的,将WCF服务设置为InstanceContext.Single和并发模式设置为Single似乎可以正常工作。不过这是一个痛苦的过程,因为你必须在调试和发布之间切换,并确保修改应用程序配置或服务本身,使其成为MT

谢谢Jens。我要试一试,可惜没有成功。这仍然是问题的根源。以下是我所拥有的:@Ahmedilyas:你绝对确定第二条信息与第一条信息是相同的吗?你检查内容了吗?可能您正在以多线程方式从队列中读取…?Jens-队列中只有一条消息。这是同一条消息,是的,它是MT。但是,如果队列中只有一条消息,则没有理由对其进行重新修补,因此,正如您最初提到的,似乎是与超时相关的问题导致重新修补再次发生。好的,将WCF服务设置为InstanceContext。Single和Concurrency mode设置为Single似乎可以正常工作。但这是一个痛苦的过程,因为您必须在调试和发布之间切换,并确保修改应用程序配置或服务本身,以使其能够正常运行