簡體   English   中英

Winforms中的NserviceBus

[英]NserviceBus in winforms

在我的Program.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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM