2015-03-31 137 views
0

我已經使用C#(.NET Framework v4.0)創建了Windows應用程序。應用程序的目的是將各種第三方應用程序API集成到一個單一的應用程序中。應用程序退出控制

目前,我遇到了客戶端啓動API請求的問題。由於某些原因,如Internet緩慢,API響應時間稍長。 用戶使用紅色應用程序退出按鈕關閉應用程序,或者在極少數情況下使用任務管理器退出應用程序。

現在問題仍然存在,API Request在其側面成功處理,但在我們的應用程序讀取之前,應用程序已關閉,並且失去了線程,並未反映在我們的身邊。

有沒有什麼方法可以讓我們控制這個應用程序退出?我們是否可以阻止此應用程序退出,特別是在API請求正在進行時。當應用程序的API請求正在進行

解決方案正在實施

  • 使用全局變量。
  • 使用MDI Form OnClosing事件觸發器來檢查變量的狀態並阻止應用程序退出。

此方法不會阻塞任務管理器應用程序關閉方案。

是否有任何可能的方法可以實施來阻止此問題或更好的方法,可以大大減少我的應用程序中的這種特定的錯誤。

+0

'form.FormClosing'事件給出了關閉的原因。 – Loathing 2015-03-31 06:23:06

回答

0

無法通過任務管理器阻止用戶從中阻止正在運行的應用程序。

任務管理器的kill命令是專殺掛應用程序(無論它是什麼在這一刻做)

最好的解決辦法:避免你的應用程序的懸掛,提供清潔的方式來退出你的應用程序。教育你的用戶只使用任務管理器作爲(非常)最後的手段。

+0

如何避免這個應用程序掛起。在Internet連接速度較慢的情況下,我無法實施解決方案。這個問題發生在非常有限的情況下,但它仍然反映出骯髒的API。 – Dilip 2015-03-31 08:10:27

+0

這是另一個有趣的問題。通常:使所有耗時/長時間運行的任務_asynchronous_。細節超出了本評論的範圍 – DrKoch 2015-03-31 08:34:59