理解AppDomain

來源:互聯網
上載者:User

標籤:sp   c   .net   應用   app   程式   對象   net   bs   

      在傳統的 Win32的程式中,進程是獨立的Runspace, 在一些大型系統中, 通常都是將系統中的核心功能分解出來用獨立的進程來處理,一方面是為了能獲得更高的系統效能、輸送量 。另一方面是為了能隔離功能之間的錯誤異常,為了使功能之間互不干擾,用進程進行隔離 ,再通過 IPC 或者其他的方式進行處理序間通訊, 當某個功能發生嚴重錯誤的時候不會使整個系統強制關閉。

    其實.NET 的應用程式定義域誕生的初衷有點這個意思,用 AppDomain 進行隔離錯誤異常。在我們開發大型系統的時候, 或者是開發系統核心組件的時候肯定是需要考慮系統的容錯性的,尤其是在一些即時監控的功能,是絕對不允許出現異常中斷整個系統的。那麼.NET 為我們提供了 AppDomain 的概念,它是程式在進程中的邏輯宿主。既然是邏輯宿主, 那麼他們還是共用同一地址空間。 在系統的託管堆中還是不分 AppDomain 的概念的。

    每一個可執行應用程式都會獨立開啟一個進程,當系統載入器將控制權交給 CLR 的時候,.NET 會用預設的 AppDomain 來宿主應用程式。預設的應用程式定義域是由.NET 開啟的,當系統啟動起來之後,我們可以建立應用程式定義域,然後在該域裡面建立對象 。

理解AppDomain

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.