我在C#中有一個應用程序,它也用作服務器上的Web應用程序的服務。問題是,當我們關閉應用程序(而不是從Web)時,它保持並顯示在任務管理器中保存所有內存。我們可以從任務管理器中殺死它,但是當它從網絡使用時,每次都會創建一個新進程並保留內存分配。退出後,應用程序停留在內存中
我應該在的OnExit
public void OnExit()
做到這一點,應該刪除它創建的進程的所有實例,並清除內存。我也做了互操作的清理在我的代碼與
System.Runtime.InteropServices.Marshal.ReleaseComObject(item);
item = null;
GC.Collect();
請提供一些建議
檢查主線程是否正常退出,然後檢查是否有任何前景線程仍在工作。您可以附加到進程,暫停它並查看任何未退出的用戶線程在「線程」窗口中。 – Alireza