公司服务器有.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
然后在应用程序中指定应用程序池,如图:
设定后就能够在应用程序池中看到已设定的应用了。如图:
这样,版本号冲突问题就不再发生了,通过解决这个问题我也学到了新的知识,希望也帮助须要的朋友们一起进步