公司伺服器有.NET2的應用在運行,而我使用了.NET4平台開發,本機測試沒問題,扔伺服器發現要麼我的新平台不好使,要麼.NET2的舊平台不好使,各種重啟IIS服務和WWW服務都無濟於事
當我意識到是這兩個平台衝突時,我回想了下我並沒有使用什麼涉及到衝突的組件和功能,於是我猜測可能是.NET2和.NET4的版本衝突問題
錯誤提示顯示:
Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request.Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.
網上搜了下發現,是因為我把.NET2和.NET4的應用都放到了預設應用程式集區DefaultAppPool導致的
預設情況下,在IIS設定的預設網站中建立虛擬目錄,會將應用自動分配到預設應用程式集區DefaultAppPool中,而不同版本的.NET當然會導致衝突,因此,要單獨對不同版本的應用建立應用程式集區避免衝突,如:
這裡我建了兩個池分別使AppPoolfZ喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vckRvdE5ldDK6zUFwcFBvb2xmb3JEb3ROZXQ0PC9wPgo8cD48aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20140430/2014043013045652.bmp" alt="\">
然後在應用程式中指定應用程式集區,
設定後就可以在應用程式集區中看到已設定的應用了,
這樣,版本衝突問題就不再發生了,通過解決問題我也學到了新的知識,希望也協助需要的朋友們一起進步