защо има съобщение за завършване при стартиране на моята услуга?

Създадох приложение nservice.

приложението слуша опашка A, извършва обработка, ако има съобщение от опашка A. след това изпраща друго съобщение до опашка B.

По-долу е начина, по който стартирам моята nservice bus

_bus = NServiceBus.Configure.With()
                    .Log4Net()
                    .DefaultBuilder()
                    .XmlSerializer()
                    .MsmqTransport()
                        .IsTransactional(true)
                        .PurgeOnStartup(false)
                    .UnicastBus()
                        .ImpersonateSender(false)
                        .LoadMessageHandlers()
                    .CreateBus()
                    .Start();

А ето и конфигурацията:

<MsmqTransportConfig 
    InputQueue="DemoQueueA" 
    ErrorQueue="DemoQueueAError" 
    NumberOfWorkerThreads="1" 
    MaxRetries="5"
/>

<UnicastBusConfig DistributorControlAddress="" DistributorDataAddress="">
    <MessageEndpointMappings>
        <add Messages="Demo.Messages" Endpoint="DemoQueueB"/>
    </MessageEndpointMappings>
</UnicastBusConfig>

Когато стартирам приложението си. винаги има съобщение в "DemoQueueB"

<?xml version="1.0"?>
<Messages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.net/NServiceBus.Unicast.Transport">
    <CompletionMessage>
        <ErrorCode>0</ErrorCode>
    </CompletionMessage>
</Messages>

И така, има ли нещо нередно с молбата ми? защото не изпратих нищо на QueueB. това е празно приложение.


person jojo    schedule 08.08.2011    source източник


Отговори (1)


CompletionMessage е един от вътрешните типове съобщения, които NServiceBus използва, за да се управлява. NServiceBus го използва, за да се инициализира, за предаване на кодове за връщане чрез метода IBus.Return() и за потвърждаване на заявки за абониране и отписване.

Като цяло трябва да игнорирате напълно тези съобщения.

person David Boike    schedule 08.08.2011