gpt4 book ai didi

c# - 无法让 NServiceBus 在自定义服务帐户下运行?

转载 作者:行者123 更新时间:2023-11-30 22:08:26 25 4
gpt4 key购买 nike

我已经创建了一个基本的 NServiceBus 端点(目前不执行任何操作),当我安装它时(使用 NServiceBus.Host.exe/install/displayName:"MyEndpoint"), 它作为服务安装在本地服务下运行,并且运行良好。

现在,当我将此 Windows 服务的运行身份帐户更改为我自己的本地服务帐户(我们暂时称它为“svcTestAccount”,它具有作为服务登录的权限)时,该服务启动,然后出乎意料初始化过程中途停止

我不知道为什么,因为没有异常记录到 log4net,进程就终止了。我之前在之前的项目中看到过这种行为,当时端点无法访问它需要的队列,但这次我已经配置了 5 个队列,我的端点为“每个人”提供“完全控制”,所以它不应该是这样,对吧?

奇怪的是,当我运行它时(在生产配置文件中使用 NServiceBus.Host.exe),它在以下所有情况下都能正常运行:

  • 在 Visual Studio 2012 中,以本地管理员身份运行。
  • 作为windows服务,运行在Local Service下
  • 作为windows服务,运行在Network Service下
  • 作为 Windows 服务,在 svcTestAccount 下运行,前提是 svcTestAccount 是本地 Administrators 组的成员。
  • 从在 svcTestAccount 下运行的命令提示符(即“runas/user:svcTestAccount cmd”打开命令提示符,然后使用 NServiceBus.Host.exe 运行我的端点)

唯一不起作用的是让它作为 Windows 服务在 svcTestAccount 下运行(并且不是本地管理员组的成员)。

谁能告诉我这是怎么回事?

为了完整起见,我的端点仅包括:

public class EndpointConfig : IConfigureThisEndpoint, AsA_Publisher, IWantCustomInitialization
{
public void Init()
{
Configure.With()
.DefaultBuilder()
.Log4Net();
}
}

还有我的 web.config:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<configuration>
<configSections>
<section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
</configSections>

<UnicastBusConfig>
<MessageEndpointMappings>

</MessageEndpointMappings>
</UnicastBusConfig>
</configuration>

我在 Windows Server 2012 上使用 NServiceBus 4.3.0。

最佳答案

要以不同的帐户(不是本地系统)运行 NServiceBus 主机,您需要使用 /username/password 执行安装程序,例如:

NServiceBus.Host.exe/install/displayName:"MyEndpoint"/username:"mydomain\username"/password:"mysecretpassword"

参见 http://docs.particular.net/NServiceBus/the-nservicebus-host#installation了解更多信息。

关于c# - 无法让 NServiceBus 在自定义服务帐户下运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22306578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com