簡體   English   中英

應用程序結束而沒有引發異常

[英]Application ends without throwing exceptions

以下代碼

new System.Threading.Timer(state =>
{
     var query = "Select Caption from Win32_OperatingSystem";
     var objectQuery = new WqlObjectQuery(query);
     var searcher = new ManagementObjectSearcher(objectQuery);
     searcher.Get();
     //unreachable code
}, null, 0, 1000);

立即結束我的應用程序而不會引發異常。 如果將這些行復制並粘貼到新的Console項目中,則可能無法重現該問題。 上面的代碼只是我的Windows服務的一小部分,很可能是問題的原因。 上面的代碼由正常運行而不會引發異常的單元測試執行。 問題發生之前最后執行的行並不總是相同的。 我該怎么辦?

我更換了

this.timer = new Timer(
    TimerCallback,
    null,
    Settings.Default.CheckDelay,
    Settings.Default.CheckInterval);

通過

new Thread(delegate()
    {
        Thread.Sleep(Settings.Default.CheckDelay);
        while (isRunning)
        {
            TimerCallback(null);
            Thread.Sleep(Settings.Default.CheckInterval);
        }
    }).Start();

哪個比較丑陋,但是可以解決我無法解決的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM