Paolo Salvatori's Blog

Adventures in the magic world of Windows Azure

Improved version of Service Bus Explorer 2.1 and new version 2.2

Improved version of Service Bus Explorer 2.1 and new version 2.2

Rate This
  • Comments 7

I just released an improved version of the Service Bus Explorer 2.1 and a new version of the tool based on the Microsoft.ServiceBus.dll 2.2.1.1.

The zip file contains:

  • The source code for the Service Bus Explorer 2.2.1.1. This version of the tool uses the Microsoft.ServiceBus.dll 2.2.1.1 that is compatible with the current version of the Windows Azure Service Bus, but not with the Service Bus 1.1, that is, the current version of the on-premises version of the Service Bus.
  • The Service Bus Explorer 2.1. This version can be used with the Service Bus 1.1. The Service Bus Explorer 2.1 uses the Microsoft.ServiceBus.dll client library which is compatible with the Service Bus for Windows Server 1.1 RTM version, but not with the 1.1 Beta version or the Service Bus for Windows Server 1.0. For this reason, for those of you that are still using the Service Bus for Windows Server version 1.0, I included the old version (1.8) of the Service Bus Explorer in a zip file called 1.8 which in turn is contained in the zip file of the current version. The old version of the Service Bus Explorer uses the Microsoft.ServiceBus.dll 1.8 which is compatible with the Service Bus for Windows Server. For those of you that are instead using the Service Bus for Windows Server 1.1 Beta, you can download the Service Bus Explorer 2.0 from my SkyDrive.
  • The Service Bus Explorer 1.8. This version can be used with the Service Bus 1.0

This version introduces the following updates for both the 2.1 and 2.2 version:

  • Added support to read the body of a WCF message when the payload is in JSON format.
  • Added support to send the body of a WCF message when the payload is in JSON format.
  • Implemented the possibility to pass command line arguments for both the 2.1 and 2.2 version:

ServiceBusExplorer.exe  [-c|/c] [connectionstring]
                                   [-q|/q] [queue odata filter expression]
                                   [-t|/t] [topic odata filter expression]
                                   [-s|/s] [subscription odata filter expression]

ServiceBusExplorer.exe  [-n|/n] [namespace key in the configuration file]
                                   [-q|/q] [queue odata filter expression]
                                   [-t|/t] [topic odata filter expression]
                                   [-s|/s] [subscription odata filter expression]

Example: ServiceBusExplorer.exe -n paolosalvatori -q "Startswith(Path, 'request') Eq true" -t "Startswith(Path, 'request') Eq true"

  • Improved check when settings properties for Topics and Subscriptions.
  • Fixed an error that added columns to message and deadletter datagridview every time the Update button was pressed.Fixed a error on CellDoubleClick for messages and deadletter datagridview that happened when double clicking a header cell.Improved the visualization of sessions and added the possibility to sort sessions by column.
  • Added sorting capability to messages and deadletter messages datagridview for queues and subscriptions. Click the column header to sort rows by the corresponfing property value in ASC or DESC order.

  • Added sorting capability to sessions datagridview for queues and subscriptions. Click the column header to sort rows by the corresponfing property value in ASC or DESC order.

  • Added sorting capability to registrations datagridview for notification hubs. Click the column header to sort rows by the corresponfing property value in ASC or DESC order.

  • Introduced the possibility to define filter expression for peeked/received messages/deadletter messages. Click the button highlighted in the picture below to open a dialog and define a filtter expression using a SQL Expression (e.g. sys.Size > 300 and sys.Label='Service Bus Explorer' and City='Pisa'). For more information, see SqlFilter.SqlExpression Property.

  • Introduced the possibility to define filter expression for peeked/received messages/deadletter messages. Click the button highlighted in the picture below to open a dialog and define a filtter expression using a SQL Expression on public and n on public properties of RegistrationDescription class (e.g. PlatformType contains 'windows' and ExpirationTime > '2014-2-5' and TagsString contains 'productservice'). The filter engine supports the following predicates:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    • StartsWith
    • EndsWith
    • Contains

    • Introduced support for TagExpressions introduced by Service Bus 2.2. When sending a notification, you can select the Tag Expression or Notification Tags to define, respectively, a tag expression (e.g. productservice && (Italy || UK)) or a list of tags. This feature is available only in the Service Bus Explorer 2.2.

    • Thanks Paolo, This is brilliant.

      Today I was about to write something similar to debug a queue issue. You saved me a ton of time & this has 50 times more capability than what I'd planned to do. ;-)

      Within 2 mins of starting your app, I'd confirmed my theory on the cause of our queuing problem.  

    • Thanks for the positive feedback David. :) Whenever you have a feedback on how to improve the tool, please send it to me and I'll do my best to implement that feature... time and my manager permitting. :)

      Ciao

      Paolo

    • Great tool - thanks for providing it!

    • Thanks Joel ;)

      Ciao

      Paolo

    • Looking for the source code for version 2.3.  Your SkyDrive account linked above is dead.  Any ideas?

    • I may have had that version wrong...basically I need the source code for the newest version that run on-site, not in Azure

    • HI David

      You can find the latest version of the tool on MSDN Code Gallery at code.msdn.microsoft.com/.../Service-Bus-Explorer-f2abca5a. The code is also available on github.

      Ciao

      Paolo

    Page 1 of 1 (7 items)
    Leave a Comment
    • Please add 8 and 2 and type the answer here:
    • Post
    Search Blogs