C# MSMQ与Active Directory集成

C# MSMQ与Active Directory集成,c#,active-directory,msmq,C#,Active Directory,Msmq,我有两个应用程序利用MSMQ在两台服务器之间传递信息 其中一个每小时发布一次新信息,运行时不会出现问题 另一个应用程序每晚运行一次,似乎间歇性失败,并显示以下错误消息: A connection with Active Directory cannot be established. Verify that there are sufficient permissions to perform this operation. 手动重新运行此任务将完成,没有问题 当我们第一次在服务器上安装M

我有两个应用程序利用MSMQ在两台服务器之间传递信息

其中一个每小时发布一次新信息,运行时不会出现问题

另一个应用程序每晚运行一次,似乎间歇性失败,并显示以下错误消息:

A connection with Active Directory cannot be established. Verify that there are
sufficient permissions to perform this operation.  
手动重新运行此任务将完成,没有问题

当我们第一次在服务器上安装MSMQ时,我们采用了默认设置,这导致安装了Active Directory集成

我读过一些关于这个问题的文章,他们建议我卸载这个组件,并添加一个注册表项来禁用它

是一篇写得很好的文章,给了我很多信息

我的问题是,如果我要卸载它,是否需要采取其他步骤

这个组件是否有我不知道的功能

我的使用者队列路径的格式为“DIRECT=TCP:XXX.XXX.X.XXX\UploadQ”。我需要修改这些吗

再次感谢你的帮助


~Jim

听起来您使用的任务计划程序使用的用户帐户没有权限。这就解释了为什么手动运行时它会工作。

在处理MSMQ时,Active Directory似乎是个魔鬼。通过使用专用队列和绕过Active Directory,我们解决了任何Active Directory问题


这种方法还提高了MSMQ在速度方面的性能。

非常好,但我认为不是这样。我们当前的解决方法是运行sched。任务3次,间隔10分钟;有时它在第一次尝试时运行良好,有时在第二次尝试时运行良好,有时在第三次尝试时运行良好,当所有3次尝试都失败时,我们手动运行它。如果它真的是一个权限问题,它不会全部失败3次吗?啊。访问AD进行身份验证可能超时?事件日志里有什么吗?我就是这么想的。当有很多其他的系统处理在进行时,这项工作会在一夜之间运行,所以我们的想法是,在这项工作开始时,广告不知何故很忙。不幸的是,事件日志只是显示了我在上面发布的消息。这就是我最终要做的。将任何公用队列转换为专用队列,并计划在下次服务器重新启动时删除Active Directory集成。