MSCharts“找不到'GET'请求类型的http处理程序”错误。

31

我尝试在我的Win2008服务器上安装MSCharts。它成功安装。 然后我在配置文件中写入

但是,当我尝试打开图表页面时,会返回以下错误信息。 未找到请求类型“GET”的http处理程序。

您对这个问题有什么想法吗?

4个回答

51

以下是在 Windows 7 上使用 ASP.NET 4.0 / IIS 7.5 所需的内容:

你的 web.config 文件必须包含以下内容:

<appSettings>
  <add key="ChartImageHandler" value="storage=file;timeout=20;" />
</appSettings>


<compilation targetFramework="4.0">
 <assemblies>
  <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
 </assemblies>
</compilation>

<system.webServer>

<handlers>
      <add name="ChartImg" verb="*" path="ChartImg.axd"  type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  />
    </handlers>
</system.webServer>

你还需要在你的aspx页面顶部添加这段代码:

<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
希望这可以帮到你。

10

就像Danil所说的那样,IIS7要求您将处理程序放在

<system.webserver>
    <handlers>
在最后一个插件句柄之后添加以下两行。
<add name="ChartImg" verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler,     System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  />
<add name="ReportViewer" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler,Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

9

解决方案在web config中。IIS7要求将handlers写在system.webserver中,而不是在system.web中。因此,我只需要移动handler并添加name属性,因为它变成了必需的。


非常感谢,我已经为了解决这个问题而苦苦思索了数小时。再次感谢。 - will

1

对于MSCharts我不了解,但是我建议尝试将应用程序的AppPool更改为'Classic .NET AppPool'。

另外,你可能需要修改web.config文件,在那里添加处理程序。请参考Rick Strahl在这里的帖子


我不能使用经典应用程序池,谢谢回答。我会研究Rick Strahl的文章。 - Danil

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