Example code for extending the behaviour of MSMQ Inspector.
We do make the bold assumption that you have a copy of the software installed (version of at least 188.8.131.52) - see http://viridissoftware.com.au/Products/MSMQManager/ and have MSMQ configured on the development machine.
Plugin use is restricted to the Premium licensed users.
For a more complete tutorial - see MSMQ.ReportGenerator.PlugIn Read Me
The current example is a plug-in that adds a custom message deserialiser (or message decoder).
Key things to keep in mind:
- Target .NET version 4
- The DLL must be 32 Bit
- It needs to be signed
- The filename by default should be "*.Plugin.dll" (this is what the application looks for at startup)
The example was coded and tested using Visual Studio 2013, Xamarin Studio and SharpDevelop.
See the code comments for more detail.
ExampleXmlMessageDecoderLoadergets called during start up - this is where you register services etc
ExampleXmlMessageDecoderdoes the work
ExampleXmlMessageDecoderTestsjust inject an XML stream as an example
Installing a Plug-in
The application will search for plug-ins (*.plug-in.dll) in:
- The current program folder (e.g.
C:\Program Files (x86)\MSMQ Inspectoror the development folder)
- The common data path in the directory
- The local data path in the directory
A binding redirect is used to ensure that plug-ins build against an older assembly still load on newer versions.
If you have a particular scenario you would like to implement please Contact Us with some details. There may be existing pieces you can plug together or a simple kick-start on where to look.