Skip to content
MSMQ implementation for sending server-to-server messages in sensenet.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

MSMQ message provider for sensenet [legacy]

MSMQ implementation for sending server-to-server messages in sensenet.

Please note that in a cloud-based environment it is more advisable to use a more modern message provider like RabbitMQ for sensenet.


To get started, install the following NuGet package:


This is a dll-ony package, not a full sensenet component, so you only have to install the package above in Visual Studio and configure your instance.


Please make these additions in every configuration file you plan to use in a load balanced environment (e.g. web.config and [web]\Tools\SnAdminRuntime.exe.config).

Config sections

Make sure your config file contains the necessary config section definitions at the beginning of the file:

    <sectionGroup name="sensenet">
      <section name="messaging" type="System.Configuration.NameValueSectionHandler" />
      <section name="providers" type="System.Configuration.NameValueSectionHandler" />

Messaging providers

Please configure both the main and the security message providers.

  <add key="ClusterChannelProvider" value="SenseNet.Communication.Messaging.MsmqChannelProvider" />
  <add key="SecurityMessageProvider" value="SenseNet.Security.Messaging.Msmq.MsmqMessageProvider" />

Main message queues

Provide the queue names that you registered on the server (one per app domain).

  <add key="MsmqChannelQueueName" value=".\private$\ryan1;.\private$\ryan2" />

Important: the order of the names is important: the dedicated local queue comes first. This means that web.config values on all web servers are different.

Security queues

Similarly to main queues, security queues also need to be in the appropriate order: local queue first.

    <add key="SecurityMsmqChannelQueueName" value=".\private$\security1;.\private$\security2" />
You can’t perform that action at this time.