请求类型为“POST”的HTTP处理程序未找到。

9

当我提交一个页面来加载.NET图表控件时,就会出现这个错误。我在我的web.config文件中有http处理程序。但无论什么原因都似乎不起作用。

<httpHandlers>
  <remove verb="*" path="*.asmx"/>
  <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
  <add verb="GET" path="FtbWebResource.axd" type="FreeTextBoxControls.AssemblyResourceHandler, FreeTextBox" />
  <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
</httpHandlers>

有什么想法,为什么会出现这个错误?我对这个问题感到困惑。

6个回答

11
只是为了帮助澄清,因为它们对我来说不够清楚;
chopps的回答:“我需要在IIS 7的web.config部分中添加处理程序”
意味着处理程序还需要在web.config的system.webServer部分中。
按照Todd的说法:
<add path="ChartImg.axd" verb="GET,HEAD,POST" 
type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, 
System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35" validate="false" />

5
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" /> 这是一个用于ASP.NET的XML配置文件中的一行代码,它定义了一个处理程序来生成数据可视化图表。该处理程序名称为ChartHttpHandler,由System.Web.DataVisualization程序集提供支持,其版本为3.5.0.0,其类型为System.Web.UI.DataVisualization.Charting.ChartHttpHandler,并且不需要验证。 - Todd
我有处理程序,但只列出了GET和HEAD作为动词!哎呀!添加POST就万事大吉了。 - Chris

3

我通过在IIS 7的web.config文件的<system.webServer>部分添加处理程序来解决了这个问题。


1

在IIS中切换到Classic .NET AppPool对我有用 - 正如chopps的评论所建议的那样。


0

为了帮助澄清事情,因为它们对我来说不清楚;

chopps的答案:“我需要在IIS 7的web.config部分中添加处理程序”

意味着处理程序还需要在web.config的system.webServer部分中。


0

切换到IIS中的Classic .NET AppPool对我有用!在将网站从IIS 6迁移到IIS 10时,我遇到了这个问题。


-1

嗯...也许<remove verb="*" path="*.asmx"/>会使您的服务器不再响应POST请求?尝试将其注释掉,看看它是否覆盖了add行。


尝试了你的建议,但没有成功。 - Todd
好的,切换到IIS中的Classic .NET AppPool可以解决这个问题。我不知道为什么它在集成模式下不起作用。 - Todd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接