說明一下AppPool的概念
IIS6.0之後,有AppPool的概念
預設的Web應用程式,會使用DefaultAppPool

每個不同的AppPool在Server上運作的時候
會使用不同的記憶體區塊,產生各自的執行個體
並且運作在不同的Session中

預設都會在DefaultAppPool這個區塊裡面運作
當AppPool停止,或者回收的時候
使用這個AppPool的所有Web應用程式都會同時的被停止、或者回收(ASPX裡面的Session會被清空)
而當相同的AppPool裡面,如果有某個Web應用程式有問題時(例如發生無窮迴圈)
相同的AppPool裡面的也都會因為執行在同一個Session中
造成其他在這個AppPool的程式也受到影響(例如瀏覽速度變慢,甚至同時當掉)

在使用上,如果在同一台Server上要運作不同的.NET Framework
那麼就一定需要讓不同的Framework運作在不同的AppPool裡面

至於使用相同的.NET Framework版本的狀況下
就可以依照Server的狀況來設定
如果每個不同的Web應用程式都設定一個專屬的AppPool
這樣做當然可以,不過相對的必須使用較多的Server資源
但是這麼做卻可以讓不同的Web應用程式變得比較獨立
不會受到其他Web應用程式的不良影響
(
例如要解決Web App1的問題,把DefaultAppPool停掉
→結果造成所有DefaultAppPool的程式全部重新啟動
但是如果是獨立的WebApp1Pool的話,停掉WebApp1Pool只會讓有問題的Web App1重新啟動
其他的Web App不會有影響
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 11 的頭像
    11

    冠霖的部落格

    11 發表在 痞客邦 留言(0) 人氣()