NserviceBus in winforms



在我的程序中.cs

   public static IBus Bus { get; set; }
   [STAThread]
   static void Main()
   {
    Bus = Configure.With()
                .DefaultBuilder()
                .XmlSerializer()
                .MsmqTransport()
                .PurgeOnStartup(true)
                .UnicastBus()
                .SendOnly();
  var order = new PlaceOrder
            {
                OrderID = Guid.NewGuid(),
                ProductID = Guid.NewGuid(),
                CustomerID = Guid.NewGuid(),
            };

            Bus.Send(order);
   }

我得到的错误:

没有为邮件指定目的地:MessagingContracts.PlaceOrder

MessagingContracts.PlaceOrder是类库中的一个类:

namespace MessagingContracts
{
    public class PlaceOrder:IMessage
    {
        public Guid CustomerID { get; set; }
        public Guid OrderID { get; set; }
        public Guid ProductID { get; set; }
    }
}

我的终点在app.config中配置为:

  <configSections>
    <section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core" />
    <section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core"></section>
  </configSections>
  <UnicastBusConfig>
    <MessageEndpointMappings>
      <add Messages="MessagingContracts" Endpoint="MessagingEndPoint"></add>
    </MessageEndpointMappings>
  </UnicastBusConfig>

我的端点类

namespace MessagingEndPoint
{
    public class EndPointConfig : IConfigureThisEndpoint, AsA_Server
    {
    }
}

如何更正该错误并在我的私人队列(MessagingEndPoint)中查看我的消息?关于这个错误原因的任何输入都将非常有帮助。

好吧,这个成功了&在send方法中提及端点名称(目的地)会将消息传递到队列。

Bus.Send("MessagingEndPoint", order); //use this 

而不是

 Bus.Send(order);

最新更新