Windows Server 2003 では、次のバッチ コマンド (http://technet.microsoft.com/en-us/library/cc773213%28v=ws.10%29.aspx) を使用して、Windows メッセージ キュー内のメッセージを週に 1 回バックアップします。 :
cd "C:\backup"
echo y | del *.* /Q /s
echo y | mqbkup -b C:\backup
このメッセージ キューと対話する同じマシン上で実行されている C# ASP.NET 3.5 Web アプリケーションがあります。
バックアップの実行後、Web アプリケーションからメッセージ キューにアクセスしようとすると、Web アプリ. 次のエラーがスローされます (予想どおり、アプリが再構築されると消えます)。どうすれば修正できますか?助けてください。ありがとう。
*Server Error in '/' Application.
The Queue manager service has been restarted. The queue handle is stale and should be closed.
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.Messaging.MessageQueueException: The Queue manager service has been restarted. The queue handle is stale and should be closed.
Source Error: Line 107: Message[] msgs = Global.getMessageQueue()[i].GetAllMessages();
Stack Trace:
[MessageQueueException (0x80004005): The Queue manager service has been restarted. The queue handle is stale and should be closed.]
System.Messaging.MessageEnumerator.get_Handle() +168
System.Messaging.MessageEnumerator.MoveNext(TimeSpan timeout) +103
System.Messaging.MessageEnumerator.MoveNext() +47
System.Messaging.MessageQueue.GetAllMessages() +41
engine.resultData.Page_Load(Object sender, EventArgs e) in C:\retentionSys_08\master\resultData.aspx.cs:107
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.4028*