公司服务器有.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当然会导致冲突,因此,要单独对不同版本的应用新建应用程序池避免冲突,如下图:
这里我建了两个池分别使AppPoolforDotNet2和AppPoolforDotNet4
然后在应用程序中指定应用程序池,如图:
设定后就可以在应用程序池中看到已设定的应用了,如图:
这样,版本冲突问题就不再发生了,通过解决问题我也学到了新的知识,希望也帮助需要的朋友们一起进步