我有一个带有 netMsmqBinding 的 WCF 服务。我的客户端可以将消息发送到我的队列,并且当服务运行时,它会按预期从队列中检索消息。如果服务未运行,则接收到的消息将排队等待服务启动。
我的问题是当消息进入队列时服务没有启动。该服务托管在 IIS 中,因此在 IIS 收到请求之前不会对其进行实例化。如果我浏览到该服务,那么它会处理队列中的消息,但显然这不是我想要的处理队列的方法!
我希望我需要更改服务实现,或更改 IIS 设置,但我不知道在哪里更改或更改什么。
更新
有人真的在 WCF 上使用 MSMQ 吗?我让这个工作了很短的时间 - 我在同一台服务器上的不同网站上启用了绑定,奇怪的是 - 但现在它又以某种方式停止工作了。
我遇到的唯一问题是当队列中有消息时服务的激活。目前,队列仅在服务实例化时处理,例如当我浏览 .svc 文件时。我在应用程序上启用了 net.msmq 协议,并且在站点上启用了 net.msmq 绑定......我还需要做什么吗?