Dot-Net

確定 .net windows-service 無法啟動的原因

  • September 25, 2020

我試圖確定為什麼我可以在大量機器上成功安裝的 .Net 服務無法在某些機器上啟動。

當服務在這些機器上啟動時,服務會立即停止,所以我的假設是使用者沒有足夠的權限來安裝服務或者服務存在問題;但是,這兩個條件都是錯誤的(服務有效並且他們有足夠的權限)。

我應該採取哪些步驟來確定服務無法啟動的原因?

所以我明白了這一點,這要歸功於查看@Matthew Steeples 和@Ben M 的事件日誌。

問題是服務在連接到伺服器時會在啟動時寫入事件日誌;但是,這台機器的事件日誌已滿,因此當服務嘗試寫入事件日誌時失敗,導致它拋出異常,該異常再次無法寫入完整的事件日誌。

因此,如果您正在寫入事件日誌,請確保它未滿或您正在處理異常!

應用程序事件日誌應包含服務啟動期間發生的任何 .Net 異常的詳細資訊。這可能有助於診斷問題。

或者,您可以將一些調試程式碼(或跟踪程式碼)添加到您的應用程序啟動中,並使用Sysinternals的 debugview來查看它的位置。

引用自:https://stackoverflow.com/questions/3096032