我有一个具有自定义登录功能的MVC应用程序。登录到Web应用程序后,显示名称将设置为在应用程序中使用的用户名。
当我尝试连接到队列时,我收到一个异常,即messagequeue无法解析我的用户名。我希望消息队列通过ApplicationPool标识或站点标识而不是应用程序的登录用户进行连接。如何配置rebus以使用其他用户(例如设置凭据)?
错误给出了以下stacktrace:
at System.Messaging.AccessControlList.MakeAcl(IntPtr oldAcl)
at System.Messaging.MessageQueue.SetPermissions(AccessControlList dacl)
at Rebus.Shared.MsmqUtil.EnsureMessageQueueExists(String path)
at Rebus.Transports.Msmq.MsmqMessageQueue..ctor(String inputQueueName, Boolean allowRemoteQueue)
at Rebus.Transports.Msmq.MsmqConfigurationExtension.DoIt(RebusTransportConfigurer configurer, String inputQueueName, String errorQueueName)
at Rebus.Transports.Msmq.MsmqConfigurationExtension.UseMsmqAndGetInputQueueNameFromAppConfig(RebusTransportConfigurer configurer)
答案 0 :(得分:0)
错误堆栈跟踪表明您在Rebus初始化期间遇到了异常,这应该在您的Web应用程序启动时完成(仅限一次)。
您是否在应用程序的启动代码之外初始化Rebus?