我尝试在我的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" %>
希望这可以帮到你。就像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" />
解决方案在web config中。IIS7要求将handlers写在system.webserver中,而不是在system.web中。因此,我只需要移动handler并添加name属性,因为它变成了必需的。
对于MSCharts我不了解,但是我建议尝试将应用程序的AppPool更改为'Classic .NET AppPool'。
另外,你可能需要修改web.config文件,在那里添加处理程序。请参考Rick Strahl在这里的帖子。