IIS 中的 WCF 和 MSMQ 托管问题
我有一个与 MSMQ 通信的 WCF 服务。当我在 VS2010 的服务测试客户端界面中运行该服务时,它可以将消息放入正确的队列中,一切都很好。当我在 IIS7 中托管 WCF 服务并从 Web 应用程序调用该服务时,所有消息都会进入事务死信队列。
我使用我知道对队列具有特定访问权限的身份设置应用程序池和站点(托管 WCF 服务的站点)。
还有什么我可以检查的或者我做错了吗?
更新: 嗯,我认为还有其他事情发生。我创建了一个超级简单的服务,可以毫无失败地从队列中读取和写入。我只是需要更深入地挖掘并找出答案。感谢所有看过的人,但我会保持开放,以便我可以报告或者如果有人可能有其他想法。我知道在不查看任何代码的情况下很难确定,但很难发布,因为我有很多东西需要分解。
I have a WCF service that talks to MSMQ. When I run the service in VS2010’s service test client interface it can place the messages in the proper queues and everything is fine. When I host the WCF service in IIS7 and call the service from my web application all the messages go into the Transactional dead-letter queue.
I setup the application pool and site (the site hosting the WCF service) with identities that I know have specific access to the queues.
Is there something else I can check or that I am doing wrong?
Update:
Well, I think there is something else going on. I created a SUPER simple service that can read and write from the queues without fail. I jsut need to dig deeper and find out. Thanks to everyone who has looks, but I will keep this open so I can report back or if someone may have other ideas. I know it is hard to determine without viewing any code, but it is difficult to post becuase i have a lot to break apart.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
事实证明,编写队列代码的人没有正确设置队列。
Turns out the guys who coded the queue did not setup the queues correctly.
在代码或客户端 app.config 文件中设置 ExactlyOnce = false。
像这样
希望这能解决问题。
干杯
诺沙德
set the ExactlyOnce = false either in code or in your client app.config file.
like this
Hope this will solve the problem.
Cheers
Naushad