MSMQ: Message Queue service is not available. Error message


have had MSMQ working for the past few months but I am suddenly getting this error message:

Message Queue service is not available.

This is when i test it locally when I test it in live i get the follwoing message:

 Unable to validate data.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Unable to validate data.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[HttpException (0x80004005): Unable to validate data.]
   System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo, Boolean useLegacyMode, IVType ivType, Boolean signData) +4961431
   System.Web.Security.MachineKey.Decode(String encodedData, MachineKeyProtection protectionOption) +194
   System.Web.Helpers.AntiForgeryDataSerializer.Deserialize(String serializedToken) +120

[HttpAntiForgeryException (0x80004005): A required anti-forgery token was not supplied or was invalid.]
   System.Web.Helpers.AntiForgeryDataSerializer.Deserialize(String serializedToken) +754
   System.Web.Helpers.AntiForgeryWorker.Validate(HttpContextBase context, String salt) +199
   System.Web.Mvc.ControllerActionInvoker.InvokeAuthorizationFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor) +156
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +825488
   System.Web.Mvc.Controller.ExecuteCore() +159
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20
   System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +469
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375

Has anyone come across this problem where it has been working and then stops and any fixes for this?

Edit: I had a few issues setting up msmq see: MSMQ creating errors: A workgroup installation computer does not support the operation / User's internal Message Queuing certificate does not exist

My set up we have 6 servers which are load balanced and all have msmq set up, the domain is set up as a Network service and there are two other server which are involved - the doamin controller which receives the messages and serach server which receives the message - i don t kow if there is a problem on all or just one particular server. I have tried to narrow it down by using the Host file (C:\Windows\System32\drivers\etc\Host )and pointing at each server at a time but they still seem to be sporadic in whther they work or not. We do use caching so I'm not sure if this may be affecting anything...


asked on Stack Overflow Jan 10, 2013 by anna • edited May 23, 2017 by Community

2 Answers


I know this might sounds like a dummy solution, but it will worked with me for sure.

You need to remove MSMQ and install again, but in order for the other services to actually see it you need to restart in between every step ... so What you need to do as follow:

  • Remove MSMQ
  • Restart Server
  • Install MSMQ
  • Restart Server: Noting sometime this step is not needed it depends on whether the other services are able to see the MSMQ at this level or not.

Good luck

answered on Stack Overflow Apr 14, 2020 by Sufyan Jabr

To resolve this problem, follow these steps: Log on to your computer as an administrator. Click Start, and then click Run.

The Run dialog box appears. In the Open box, type Services.msc, and then click OK.

The Services window appears. Locate Message Queuing. Right-click Message Queuing, and then click Properties.

The Message Queuing Properties (Local Computer) dialog box appears. On the Log On tab, click Local System account. Click Apply, and then click OK. Stop the Message Queuing service, and then start the Message Queuing service.

answered on Stack Overflow Sep 28, 2017 by Sonu

User contributions licensed under CC BY-SA 3.0