在進行學習asp.net内容之前,需要了解一下應用程式域的相關内容。處理asp.net所涉及的類大多數定義在system.web程式集中。在.net中,管理程式集的最小邏輯單元為應用程式域(appdomain)。對于.net程式來說可以動态的加載程式集到應用程式域中。但是,加載之後的程式集不能單獨解除安裝,隻能以應用程式域為機關來整體解除安裝。
應用程式域四個機制:
隔離:不同應用程式域之間不能直接通路。跨應用程式域通路的對象必須派生自system.marshalbyrefobject。
解除安裝:被加載的程式集隻能以應用程式域為機關解除安裝。
安全:以應用程式域為邊界的安全機制。
配置:以應用程式域為邊界的程式配置。
asp.net将網站應用程式寄宿在一個獨立的應用程式域中,以便管理。雖然可以通過system.appdomain也可建立自定義的應用程式域,但,asp.net在system.web.hosting命名空間中定義了更加友善的輔助類,以協助程式員寄宿web伺服器程式所涉及的應用程式域,并設定應用程式域的相關參數。
由于我們的應用程式域将于web應用程式運作在不同的應用程式域中,這就涉及到了跨域通路問題。在.net中,跨域通路的類必需派生自system.marshalbyrefobject。通過這種方式,我們可以得到一個遠端對象的代理對象,通過該對象通路位于web應用程式域中的對象。
applicationhost.createapplicationhost靜态方法可以很友善的建立web應用程式所需的應用程式域,并設定所需要的參數。


hosttype:表示用來跨域通路的通信對象,它必須派生自system.marshalbyrefobject。
virtualdir:表示網站應用程式的根所對應的虛拟目錄。
physicaldir:表示網站應用程式所在的檔案系統的檔案目錄。
注意 這個方法需要建立一個新的應用程式域,這個應用程式域将重新加載hosttype。并按照以下順序尋找定義hosttype類型的程式集: 1.gac 2.網站實體檔案目錄下的bin檔案夾。 是以,如果沒有将定義hosttype的程式集經過數字簽名,并加載到gac中,那麼,必需在網站應用程式所在的檔案夾下建立bin檔案夾,然後将定義hosttype的程式集複制到bin檔案夾中。


部落格位址:
<a href="http://www.cnblogs.com/wolf-sun">http://www.cnblogs.com/wolf-sun/</a>
部落格版權:
本文以學習、研究和分享為主,歡迎轉載,但必須在文章頁面明顯位置給出原文連接配接。
如果文中有不妥或者錯誤的地方還望高手的你指出,以免誤人子弟。如果覺得本文對你有所幫助不如【推薦】一下!如果你有更好的建議,不如留言一起讨論,共同進步!
再次感謝您耐心的讀完本篇文章。http://www.cnblogs.com/wolf-sun/p/5193734.html