MSMQ:Message Queue服务不可用。错误信息

时间:2013-01-10 13:26:18

标签: networking msmq

过去几个月有MSMQ工作,但我突然收到此错误消息:

Message Queue service is not available.

这是我在本地测试它的时候我在现场测试它得到了以下消息:

 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

有没有人遇到过这个问题,然后停止并修复此问题?

编辑:我在设置msmq时遇到了一些问题,请参阅: MSMQ creating errors: A workgroup installation computer does not support the operation / User's internal Message Queuing certificate does not exist

我的设置我们有6台负载均衡的服务器,都设置了msmq,域名设置为网络服务,还有另外两台服务器 - 接收消息的doamin控制器和serach服务器接收消息 - 如果所有或仅一个特定服务器出现问题我不知道。我试图通过使用主机文件(C:\ Windows \ System32 \ drivers \ etc \ Host)并一次指向每个服务器来缩小它,但它们似乎仍然是零星的,无论它们是否正常工作。我们确实使用缓存,所以我不确定这是否会影响任何事情......

由于

2 个答案:

答案 0 :(得分:1)

要解决此问题,请按照下列步骤操作: 以管理员身份登录计算机。 单击开始,然后单击 运行

出现“运行”对话框。 在“打开”框中,键入 单击Services.msc,然后单击确定。

出现“服务”窗口。 找到消息队列。右键点击 消息队列,然后单击 属性。

将显示“消息队列属性(本地计算机)”对话框。 在“登录”选项卡上,单击“本地系统帐户”。 单击“应用”,然后单击 好。 停止消息队列服务,然后启动消息队列服务。

答案 1 :(得分:0)

我知道这听起来像是一个虚拟的解决方案,但可以肯定地对我有用。

您需要删除MSMQ并重新安装,但是为了使其他服务真正看到它,您需要在每个步骤之间重新启动...,因此您需要执行以下操作:

  • 删除MSMQ
  • 重新启动服务器
  • 安装MSMQ
  • 重新启动服务器:注意有时不需要此步骤,这取决于其他服务是否能够在此级别查看MSMQ。

祝你好运