一段時間以來,我們一直在使用 Microsoft 的 Service Broker External Activator Service 來處理 Service Broker 隊(duì)列的外部激活,沒有問題。但是在上周,一個錯誤不斷發(fā)生,我無法追根究底。每天至少一次,隨機(jī)時間,服務(wù)會遇到錯誤并陷入停止?fàn)顟B(tài)。此時所能做的就是終止進(jìn)程并重新啟動服務(wù)。檢查 EATrace.log 文件顯示以下錯誤:18/07/2018 09:59:45 EXCEPTIONERROR = 90, Internal exceptions have occurred when External Activator is runtime checkpointing.18/07/2018 09:59:45 EXCEPTIONDETAILS Inner Exception:18/07/2018 09:59:45 EXCEPTIONDETAILS System.IO.IOException: Cannot create a file when that file already exists.18/07/2018 09:59:45 EXCEPTIONDETAILS 18/07/2018 09:59:45 EXCEPTIONDETAILS at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)18/07/2018 09:59:45 EXCEPTIONDETAILS at System.IO.File.Move(String sourceFileName, String destFileName)18/07/2018 09:59:45 EXCEPTIONDETAILS at ExternalActivator.LogManager.SaveRecoveryContext(LogRecoveryContext recoveryContext)18/07/2018 09:59:45 EXCEPTIONDETAILS at ExternalActivator.LogManager.Checkpoint(LogRecoveryContext recoveryContext)18/07/2018 09:59:45 EXCEPTIONDETAILS at ExternalActivator.LogManager.Log(LogRecord recoveryLogRec)18/07/2018 09:59:45 EXCEPTIONDETAILS at ExternalActivator.ApplicationMonitor.OnProcessExited(ProcessMonitor processMonitor)18/07/2018 09:59:45 EXCEPTIONDETAILS at ExternalActivator.ProcessMonitor.NotifySubscriber()18/07/2018 09:59:45 EXCEPTIONDETAILS at ExternalActivator.ProcessMonitor.OnProcessExited(Object a, EventArgs b)請注意,LogFileName 是 EARecovery.rlog,TempLogFileName 是 EARecovery_temp.rlog。發(fā)生錯誤后檢查日志文件夾時,只有臨時文件,原始文件已按預(yù)期刪除。我本來希望 lock 語句可以防止這種情況發(fā)生。除了通常的 Windows 更新之外,服務(wù)器上沒有任何變化,負(fù)載也沒有增加,但由于某種原因,這個錯誤從 7 月 16 日左右開始發(fā)生。打開詳細(xì)日志記錄,我可以看到它的檢查點(diǎn)比我預(yù)期的要多得多,并且當(dāng)錯誤發(fā)生時,它總是在前一個檢查點(diǎn)的一兩秒內(nèi)。任何關(guān)于下一步該看哪里的幫助或指示都將不勝感激,因?yàn)槲艺诎盐业念^發(fā)扯下來。
1 回答

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個贊
這不是服務(wù)代理特有的,但我以前見過這種情況,尤其是代碼:
File.Delete(this.LogFileName);
File.Move(this.TempLogFileName, this.LogFileName);
如果后臺進(jìn)程(如防病毒軟件)將文件保持打開狀態(tài),則該文件可能不會立即消失。如果您正在運(yùn)行防病毒軟件,如 Windows Defender 或其他一些產(chǎn)品,您可能需要將該文件夾列入白名單,以便它不會嘗試掃描文件。
我可以提出的唯一其他建議(同樣無關(guān))是清除 Windows 臨時文件夾。幾年前我遇到過一些事情,根據(jù)它們?nèi)绾卧趦?nèi)部命名或跟蹤它們,創(chuàng)建大量臨時文件會導(dǎo)致 Windows 出現(xiàn)問題。我沒有給你的鏈接,我認(rèn)為這不是你的問題,但你可能想嘗試一下。
- 1 回答
- 0 關(guān)注
- 242 瀏覽
添加回答
舉報(bào)
0/150
提交
取消