如何调试NServiceBus ServiceControl实例

时间:2015-11-04 02:11:29

标签: nservicebus nsb-servicecontrol

我已经安装了ServiceControl管理实用程序,我正在尝试添加实例。

我想在服务帐户下运行实例,因为我们使用SQLServer传输,但是在安装页面,我收到错误“密码无效”。

该帐户正在同一台计算机上托管另一个Windows服务。

我尝试过其他管理员帐户,并通过UI和Powershell脚本创建实例。

我200%确定密码是否正确。

无论如何我可以增加日志记录来确定失败的原因吗?

奇怪的是,我可以在初始安装下更改服务帐户并且它可以工作.. 我最终能够使用SQL登录运行服务,但我更喜欢使用集成安全性而不保留用户名和连接字符串中的密码

2 个答案:

答案 0 :(得分:1)

这是进行验证的代码。

public bool CheckPassword(string password)
       {
           if (Domain.Equals("NT AUTHORITY", StringComparison.OrdinalIgnoreCase))
           {
               return true;
           }
           var localAccount = Domain.Equals(Environment.MachineName, StringComparison.OrdinalIgnoreCase);
           var context = localAccount ? new PrincipalContext(ContextType.Machine) : new PrincipalContext(ContextType.Domain);
           return context.ValidateCredentials(QualifiedName, password);
       }

因此,在多域环境中,它可能会遇到麻烦。

提出错误here,我们将能够为您提供更好的回复。

答案 1 :(得分:1)

已发布解决此错误的补丁程序。见 - https://github.com/Particular/ServiceControl/releases/tag/1.7.3。谢谢Kye让我们意识到这个问题