我目前正在使用nServiceBus版本4.0.0-unstable3223(预发布)
NSB配置如下:
private static readonly IBus Bus =
Configure
.With(typeof(IBaseMessage).ReferencedAssemblies())
.DefiningCommandsAs(t => t.Namespace != null && t.Namespace.Contains(".Messages."))
.DefaultBuilder()
.XmlSerializer()
.UseTransport<Msmq>()
.UnicastBus()
.SendOnly();
当我尝试访问WebAPI方法时,出现错误。当我调试以查明发生了什么时,这是我得到的例外:
{"Requested registry access is not allowed."}
Stack Trace:
at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
at NServiceBus.Licensing.LicenseDescriptor.get_HKCULicense() in c:\TeamCity\buildAgent\work\28bfdd0d351fb1d3\src\NServiceBus.Core\Licensing\LicenseDescriptor.cs:line 30
注意:我在同一代码库中有10多个开发人员的环境中工作。我是目前唯一遇到此问题的人。我尝试删除我的本地代码,从存储库中提取新内容,并在没有代码更改的情况下重建。
任何帮助/指导将不胜感激。
答案 0 :(得分:3)
NServiceBus正在尝试从HKEY_CURRENT_USER\Software\NServiceBus\4.0
读取许可证,看起来您运行NServiceBus的用户帐户无权准备该注册表位置。
您能否确认用户帐户对该注册表项具有读取权限?
据我了解,通常NT帐户有权在HKEY_CURRENT_USER
下阅读/写作!
答案 1 :(得分:0)
如果您在应用程序中使用Windows身份验证,请确保IIS身份验证设置正确无误。 Windows身份验证必须是唯一启用的身份验证方法。这解决了我的问题。