首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rebus是否支持使用/HTTPS?

Rebus是否支持使用/HTTPS?
EN

Stack Overflow用户
提问于 2014-11-20 23:01:19
回答 1查看 345关注 0票数 1

我已将订阅配置如下:

代码语言:javascript
复制
<add messages="MyNameSpace.MyMessage, MyAssembly" endpoint="FormatName:DIRECT=HTTP://mydomain/msmq/private$\myqueue.input" />

但是,当总线启动并发送订阅时,我得到的是:

代码语言:javascript
复制
Exception information: 
    Exception type: HttpException 
    Exception message: An exception occurred while attempting to send Rebus.Messages.SubscriptionMessage to FormatName:DIRECT=HTTP://mydomain/msmq/private$\myqueue.input (context: Rebus.Bus.NoTransaction)
   at System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app)
   at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
   at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
   at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
   at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)

An exception occurred while attempting to send Rebus.Messages.SubscriptionMessage to FormatName:DIRECT=HTTP://mydomain/msmq/private$\myqueue.input (context: Rebus.Bus.NoTransaction)
   at Rebus.Bus.RebusBus.InternalSend(String destination, Message messageToSend)
   at Rebus.Bus.RebusBus.InternalSend(String destination, List`1 messages)
   at RehabPathway.Infrastructure.MessagingConfig.RegisterHandlers(IContainer container)
   at RehabPathway.Infrastructure.RehabPathwayHttpApplication.Application_Start(Object sender, EventArgs e)

An error occurred while attempting to send Rebus.TransportMessageToSend to FormatName:DIRECT=HTTP://mydomain/msmq/private$\myqueue.input
   at Rebus.Transports.Msmq.MsmqMessageQueue.Send(String destinationQueueName, TransportMessageToSend message, ITransactionContext context)
   at Rebus.Bus.RebusBus.InternalSend(String destination, Message messageToSend)

Invalid queue path name.
   at System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath(String queuePath, Boolean throwException)
   at System.Messaging.MessageQueue.get_FormatName()
   at System.Messaging.MessageQueue.SendInternal(Object obj, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType)
   at Rebus.Transports.Msmq.MsmqMessageQueue.Send(String destinationQueueName, TransportMessageToSend message, ITransactionContext context)

我已经确认,这两个服务器可以通过HTTP/HTTPS在rebus之外相互发送消息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-21 23:59:34

对于现有的MSMQ传输,Rebus不支持基于HTTP/HTTPS的MSMQ。

Rebus将始终使用普通的私有MSMQ队列,并指定如下所示的队列名称:

代码语言:javascript
复制
 <add messages="MyNameSpace.MyMessage, MyAssembly" endpoint="myqueue.input" />

若要将消息映射到本地myqueue.input队列,或

代码语言:javascript
复制
 <add messages="MyNameSpace.MyMessage, MyAssembly" endpoint="myqueue.input@anotherHost" />

若要将消息映射到myqueue.input机器上的anotherHost,请执行以下操作。

如果MSMQ在使用HTTP/HTTPS时满足相同的传递保证,那么我猜没有理由不可能以某种方式配置它--现在不支持它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27051264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档