MSMQ:消息队列服务不可用。错误信息

问题描述 投票:0回答:2

过去几个月 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创建错误:工作组安装计算机不支持操作/用户内部消息队列证书不存在

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

谢谢

networking msmq
2个回答
0
投票

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

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

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

祝你好运


-2
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.