應用程序域在IIS/ASP.NET如何在ASP.NET 4 WebForm應用程序中使用AppDomain?
給定一個ASP.NET WebForms的門戶IIS和使用書面在ASP.NET MVC3隔離模塊內被託管,什麼是適當的API在執行模塊使用在運行時?
- 的AppDomain API
- ApplicationHost API
- AppManagerAppDomainFactory類
- 不恰當的,使用IIS內置隔離機制,並找到另一種方式來承載在一個門戶網站的母版結構
- MVC3生成的內容? ?
背景
我們與許多使用C#/託管的WebForms編寫的應用程序的傳統自定義門戶。目前,門戶和所有應用程序都存在於一個項目中;他們都在同一時間部署。我想將應用程序與門戶分開,將它們作爲模塊實施到門戶,並在運行時隔離每個模塊的執行。我們希望在ASP.NET MVC 3中移植/重寫每個應用程序。
當我們移植每個應用程序時,我最初的想法是門戶網站處理每個請求,在AppDomain中加載應用程序/模塊,將請求轉發給模塊,獲取生成的html,並將其放置在門戶MasterPage的ContentPlaceHolder中。在我走下這條路之前,我認爲在基礎上進行一些StackOverflow驗證是明智的。
謝謝@塞繆爾。很好的答案,值得考慮。我正在探索隔離作爲過渡技術。我很少關心安全問題。更多關於記憶和穩定性。我已經創建了一個新的應用程序(在WebForms中),它使用依賴注入和許多其他第三方庫。 DI是通過WebActivator啓動的(現在任何時候門戶都可以運行,並且可以將其關閉)。還爲每個應用程序的靜態類,庫,程序集加載助手進程的生命週期。門戶網站整天都在使用,如果整天發佈特定於模塊的內存,那將會很不錯。 – Jason
@Jason,這聽起來像你正在試圖優化你還沒有的問題,而且可能永遠都不會有。按照它對您的需求有意義的方式進行編寫,然後對應用進行配置以查看需要優化的內容。除此之外,您可以隨時按計劃回收asp.net應用程序,以便快速骯髒的資源發佈。 –