没有为请求类型“GET”找到 HTTP 处理程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有为请求类型“GET”找到 HTTP 处理程序相关的知识,希望对你有一定的参考价值。

没有为请求类型“GET”找到 HTTP 处理程序。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 没有为请求类型“GET”找到 HTTP 处理程序。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

[HttpException (0x80004005): 没有为请求类型“GET”找到 HTTP 处理程序。]
System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +656
System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +93
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.3603; ASP.NET 版本:2.0.50727.3614
会不是因为误删除了IE插件的问题
怎么重新注册ASP.net

分 析:其实错误已经很明确的告诉我们了,是客户端在以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 。
一般此类问题,完成以上三种方法的检测,即可解决。详细可以访问:http://bbs.ibeisha.com/showtopic-308.aspx
参考技术A 检查一下aspx等文件的ISAPI注册情况,重新注册一下ASP.net

执行aspnet_regiis.exe -i本回答被提问者采纳
参考技术B 应该是没注册相应的处理程序 或者你的url写错了

以上是关于没有为请求类型“GET”找到 HTTP 处理程序的主要内容,如果未能解决你的问题,请参考以下文章

HTTP中get请求与post请求区别

频繁的GET请求停止实际处理HTTP处理程序/离开返回相同的值

GET请求的长度限制?

Linux curl 命令模拟 POST/GET 请求

cookiesessiontoken的区别

ORA-12520: TNS:监听程序无法为请求的服务器类型找到可用的处理程序