首页 > 代码库 > ASP.NET(IIS)出现"没有为请求类型"GET"找到 HTTP 处理程序"
ASP.NET(IIS)出现"没有为请求类型"GET"找到 HTTP 处理程序"
环 境:windows 2003 IIS6.0
程序支持:ASP.NET
.NET版本:2.0、4.0
问 题:之前服务器上各大网站运行良好,今天突然出现:"没有为请求类型"GET"找到 HTTP 处理程序 的异常信息。"的异常,解决此类问题:百度一下,搜索的结果并不令人满意,相关的解决方案更是很少。接下来了简单的总结了下网站出现此类才此类问题时,我们怎样做,可以避免一些弯路,节省更多的时间。
分 析:其实错误已经很明确的告诉我们了,是客户端在以Get方式发送http请求时,aspnet_isapi找不到处理该请求的Handler处理程序。原来是缺少handler处理程序了,那我们接着分析,什么原因会导致请求找不到handler呢?可能的原因有2:
1、没有注册.aspx应用程序扩展映射。
2、对于.NET来说。它的web.config的继承关系是:C:/windows/microsoft.net/framework/config/machine.config,我们可以在C:/windows/microsoft.net/framework/config/下,发现有两个很重要的config配置文件,分别是:machine.config web.config。网站的web.config就是从这两个文件中继承过来的,于是我们就会意识到,这两个文件的也有可能会导致该错误。
解决此类问题正确的步骤应该是:
方法一,检查下C:/windows/microsoft.net/framework/config/web.config是否存在,如果不存在,那就是问题的所在,找到对应.net版本的web.cofig配置文件放到C:/windows/microsoft.net/framework/config/web.config该文件夹下。
方法二,检查网站是否添加了aspnet_isapi.dll扩展,如果没有,则添加即可。
方法三, 如果不行,尝试重新注册iis。C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i 。
一般此类问题,完成以上三种方法的检测,即可解决。
ASP.NET(IIS)出现"没有为请求类型"GET"找到 HTTP 处理程序"