Centralized file-based routing is an experimental project hosted on ParticularLabs. Particular Software does not provide any support guarantee for such projects.
The sample demonstrates how to use a file to describe the logical routing topology.
Prerequisites
Make sure MSMQ is installed and configured as described in the MSMQ Transport - MSMQ Configuration section.
Running the project
- Start the solution.
- The text
Press
should be displayed in the Client's console window.<enter> to send a message - Hit enter several times to send some messages.
Verifying that the sample works correctly
- The Sales console displays information about accepted orders.
- The Shipping endpoint displays information that orders were shipped.
- The Billing endpoint displays information that orders were billed.
Code walk-through
This sample contains four projects. All these project make use of a shared routing file.
<endpoints>
<endpoint name="Samples.FileBasedRouting.Sales">
<handles>
<command type="PlaceOrder, Shared"/>
</handles>
</endpoint>
<endpoint name="Samples.FileBasedRouting.Billing">
<handles>
<event type="OrderAccepted, Shared"/>
</handles>
</endpoint>
<endpoint name="Samples.FileBasedRouting.Shipping">
<handles>
<events assembly="Shared"/>
</handles>
</endpoint>
</endpoints>
For the purpose of the sample, the file is stored in the local file system. The routing mechanism based on the contents of the file is enabled by following code:
var transport = endpointConfiguration.UseTransport<MsmqTransport>();
var routing = transport.Routing();
routing.UseFileBasedRouting(@"..\..\..\..\endpoints.xml");