您的位置:首页 > 其它

ksxt问题集之——“请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”

2014-12-14 20:41 369 查看
在考试系统Demo的IIS6.0发布中,遇到了各种发布不成功的例子。有的是操作系统不同导致的IIS版本不一致引发的问题,如http://blog.csdn.net/zuozuo1245/article/details/41877131 (Win8/8.1中的IIS8.5),有的是IIS默认设置有问题等。

下面我的这个问题可能大家使用IIS发布过程中有很大概率会遇到,在此希望能对大家有所帮助。

先看错误截图,有图有真相~








“HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。”

出现这个问题,很可能是IIS里的“ISAPI或CGI限制”这一块的配置出现了问题,“ISAPI” 是供IIS加载和调用的DLL, 如果没配置相关的ISAPI,就无法正确地解释网页的内容。最终导致IIS默认把文件当作静态文件来处理了。

也就是说,我们用.NET 4.0来开发网站,但ISAPI没配置有"ASP.Net_4.0_32bit"的dll文件来对页面程序进行托管,那么IIS就无法正确的运行aspx里的C#代码。



解决方案:

1、先查看我们IIS里用的.NET Framework框架是什么版本的,我这里默认的是2.0,要改成4.0,如图:




2、再看我们IIS的“应用程序池”里要发布的网站的版本,我这里也是2.0,改成4.0的,如图:







3、进行一下浏览网站测试,看看是否成功了,如果不成功,我们继续进行以下操作:

这里是对ISAPI的配置:

3.1选中网站->功能视图-> 双击 ISAPI筛选器,然后查看是否有与网站所基于的framework 对应的dll文件。.NET2.0,3.0,3.5对应的dll是ASP.Net_2.0.50727.0, net4.0是ASP.Net_4.0_32bit或ASP.Net_4.0_64bit;
3.2若没有对应的DLL,有可能是没装好IIS,即漏掉了东西,如果不知选择装哪些部分,就应该完整的把整个IIS装完;
4、如果装了VS再装IIS必须得对.NET Framework 重装一次, 运行cmd,输入:C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis
-i 注:这个是 .NET Framework安装对应的路径。
以上操作可以解决大部分此类问题。对于IIS发布的问题还涉及到了权限控制、配置文件生成冗余等,就不一一列举了,大家多看看帮助文档、查查网上的资料吧~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐