摘要:天啊!"伺服器應用程式無法使用"?
ASP.NET 2.0上,也發生了一個沒見過的執行期錯誤,
發生錯誤時你會看到網頁上寫著大大的標題"伺服器應用程式無法使用",還叫你去查Event Log(事件檢視器),
錯誤內容提示如下:
It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process.
中文譯:
在同一 IIS 處理程序中不可能執行兩個不同的 ASP.NET 版本。請使用 IIS 管理工具重新配置伺服器以在一個單獨的處理序中執行應用程式。
此看來是跟我同時安裝1.1 and 2.0有關係,難到是衝突到嗎?微軟不是說.Net Framework經過特殊設計,不同版本的.Net Framework不會衝突可以安心運作嗎?
所以遇到這個錯誤的時候我是相信微軟的,我認為一定有什麼地方出了什麼問題。
隨著.NET 2.0的發佈,我們面臨著ASP .NET 1.1到ASP .NET 2.0遷移的任務,
中間會遇到好多兩個版本的網站在一個伺服器上並存的問題。
在IIS 5上,好像一切正常(沒有具體研究過)。但是在IIS 6上因為引入了Application Pool(應用程式集區)的概念,
所以會有一些問題。當我們針對不同兩個.net版本的網站應用同一個Application Pool的時候,就會出現上面所提到執行期錯誤。
解決方案:
針對不同版本的網站(包括虛擬目錄,因為它也要用Application Pool),採用不同的Application Pool。
就是自己新增一個Application Pool(本來只有一個DefaultApplicationPool),
然後讓你的ASP.NET 2.0應用程式指定到你新增的Application Pool即可。就這麼簡單。