我试图在我的 Win2008 服务器上安装 MSCharts。它安装没有问题。然后我在配置中写了。
但是当我试图打开带有图表的页面时,它返回了以下错误。未找到请求类型“GET”的 http 处理程序
你对这个问题有什么想法吗?
这是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" %>
希望这可以帮助
就像丹尼尔说的那样,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" />
解决方案在网络配置中。IIS7 需要在 system.webserver 中而不是在 system.web 中编写处理程序。所以我只是移动处理程序并在需要时添加名称属性。
对 MSCharts 一无所知,但我想说尝试将应用程序的 AppPool 更改为“经典 .NET AppPool”。
或者,您可能需要修改 web.config 以在其中添加处理程序。在此处查看Rick Strahl 的帖子。