设置用于连接到messagebus的rebus的用户名

时间:2013-08-14 13:08:25

标签: rebus

我有一个具有自定义登录功能的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)

1 个答案:

答案 0 :(得分:0)

错误堆栈跟踪表明您在Rebus初始化期间遇到了异常,这应该在您的Web应用程序启动时完成(仅限一次)。

您是否在应用程序的启动代码之外初始化Rebus?