2010-01-22 258 views

回答

47

這是你需要什麼ASP Windows 7上的.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" %> 

希望這有助於

1

不知道任何關於MSCharts的信息,但我會說嘗試更改應用程序的AppPool爲'Classic .NET AppPool'。

或者,您可能需要修改web.config以在其中添加處理程序。見Rick Strahl's post here

+0

我無法用經典的應用程序池,感謝答案。我會研究裏克斯特拉爾的帖子。 – Danil 2010-01-22 12:27:23

9

解決方案在web配置中。 IIS7需要在system.webserver中編寫處理程序,但不在system.web中。所以我只需要移動處理程序並添加名稱屬性。

+0

非常感謝,我一直在試圖解決這個問題的時間。再次感謝。 – will 2011-06-09 06:09:03

+0

謝謝@達尼它工作! – Xenon 2011-09-27 09:18:44

9

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" />