未从名称中包含下划线的队列中提取消息

Messages not getting picked up from a queue having underscore in its name

我在 IIS 中以应用程序名称 QueuedService_1_1 托管了一个 WCF 服务 QueuedService.TicketingService.svc。所以服务的完整 URL 是:

http://example.com/QueuedService_1_1/QueuedService.TicketingService.svc

该服务有一个 net.msmq 端点:

<endpoint address="net.msmq://example.com/private/QueuedService_1_1/QueuedService.TicketingService.svc"
          binding="netMsmqBinding" 
          bindingConfiguration="MsmqBindingTransactional" 
          contract="QueuedService.ITicketingService" />

我在 MSMQ 中创建了一个名为:

的队列
QueuedService_1_1/QueuedService.TicketingService.svc

当我调用该服务时,消息被传送到队列,但没有被该服务接收。当我在浏览器中点击服务 URL 时,服务会选择消息。

IIS 应用程序名称和队列名称中的命名问题,即 _1_1 是否有问题? 因为当我在没有 _1_1 的情况下托管相同的服务时,即在 IIS 中 QueuedService 和名为 QueuedService/QueuedService.TicketingService.svc 的队列,它可以工作。

不确定它是否有效,但请尝试使用 - 而不是 _

参见MSDN