1

我的本地机器上有一个(死信)队列,名为logging/logdeadletterservice.svc. 我有一个相应的服务正在运行以appdev.me.com/logging/logdeadletterservice.svc从队列中提取消息并重新提交它们。只要工作进程正在运行,它就可以很好地工作。但是,一旦工作进程关闭(或者如果它还没有启动),服务将不再从队列中获取消息,除非我手动浏览到 SVC。

根据这篇文章,NETWORK SERVICE 需要权限才能查看队列。我继续并添加了该权限,但消息没有从队列中拉出。我尝试重新启动 Net.Msmq 侦听器适配器(实际上,它在网络服务下运行),但仍然不行。

关于我做错了什么的任何想法?

编辑:我试过运行sc sidtype netmsmqactivator unrestricted并重新启动服务,但不行。在没有解决问题后将其切换回受限(原始)。

EDIT2:还尝试以我自己的身份运行 Net.Msmq 侦听器适配器(这是运行服务的用户),但不行。

4

1 回答 1

0

最终使用AppFabric并对 appcmd.exe 运行以下命令,以使池始终可用并始终预热:

%windir%\system32\inetsrv\appcmd.exe set apppool "My Site" /startMode:AlwaysRunning
%windir%\system32\inetsrv\appcmd.exe set app /app.name:"My Site/My App" /serviceAutoStartEnabled:True /serviceAutoStartMode:All /serviceAutoStartProvider:Service
于 2012-12-13T21:30:28.877 回答