因此,使用GO管道部署项目的升级,包括最新版本的NServiceBus(3.2.7),我似乎遇到了某种创建队列的权限问题,一旦手动创建,它似乎仍然是服务不会从中读取。
这是我的端点配置
public class EndpointConfiguration
: IConfigureThisEndpoint, AsA_Server
, IWantCustomInitialization, IWantCustomLogging
{
public void Init() {
// setup Container
var container = new WindsorContainer();
container.Kernel.ReleasePolicy = new NoTrackingReleasePolicy();
container.Install(new WindsorInstaller(), new DatabaseInstaller(), new WorkflowTaskingInstaller());
SetLoggingLibrary.Log4Net(XmlConfigurator.Configure);
Configure.With()
.CastleWindsorBuilder(container)
.MsmqTransport()
.UnicastBus()
.RavenSubscriptionStorage()
.MyUnitOfWork()
.XmlSerializer();
LogManager.GetLogger("cs.Process").Info("Starting cs.Process");
}
}
好像我说这是服务的一些问题。我对NServiceBus很新,所以我不确定如何将其部署为服务而不是运行host.exe。
此外,当我在本地运行时,我可以指向开发环境中的队列并从中读取。
答案 0 :(得分:1)
这些队列可能很棘手。用于创建队列的帐户似乎拥有该帐户,并且只有该帐户最初可以授予任何其他权限。因此,请务必在某个已知帐户下运行您的服务。
如果您没有将通用主机作为服务运行,请确保运行该进程的身份所在的登录帐户可以访问该队列。
我没有使用NServiceBus作为yonks,但最后我记得访问被拒绝异常应该说明你需要访问队列的各个位。