未从名称中包含下划线的队列中提取消息
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。
我在 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。