use*_*104 5 .net c# asp.net charts visual-studio
我已尝试此线程上的所有解决方案: .NET 3.5图表控件异常:执行ChartImg.axd的子请求时出错
我加了
<add
path="ChartImg.axd"
verb="GET,HEAD"
type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
Run Code Online (Sandbox Code Playgroud)
该httpHandlers部分的代码,但它仍然无法正常工作.
我还补充说:
<appSettings>
<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />
</appSettings>
<httpHandlers>
...
<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
...
</httpHandlers>
<handlers>
...
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
...
</handlers>
Run Code Online (Sandbox Code Playgroud)
但是在争取一段时间将这些标签放在配置文件中的正确位置后,我得到了同样的错误.
这是我目前的配置文件:
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<appSettings>
<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />
</appSettings>
<system.web>
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
</httpHandlers>
<!--<pages>
<controls>
<add tagPrefix="artem" namespace="Artem.Google.UI" assembly="Artem.Google"/>
</controls>
</pages>-->
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5"/>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我已经被困在这两个小时不能得到任何工作.我正在使用.net framework 4.5
小智 7
这是我的情况:
我只是错过了这个:
<system.web><httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
</httpHandlers></system.web>
Run Code Online (Sandbox Code Playgroud)
我设法解决了这个问题(我使用的是DotNetNuke,但出现错误“对ChartImg.axd执行子请求时出错。”)
我在我的web.config文件中添加了以下几行
<configuration>
<system.webServer>
...
<handlers>
...
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
<system.web>
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
</httpHandlers>
...
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在DotNetNuke中,如果要在安装过程中从模块更新配置文件,请遵循此文章。
对于其他遇到此问题但无法解决的人。
我将此代码复制并粘贴到 web.config 文件中的相应部分中。
然后,我在使用图表控件运行页面时收到了来自 IIS 8 的错误消息:
HTTP 错误 500.23 - 内部服务器错误 检测到不适用于集成托管管道模式的 ASP.NET 设置。
该消息还包含建议:
您可以尝试的操作: 将配置迁移到 system.webServer/handlers 部分。您可以手动执行此操作,也可以通过命令行使用 AppCmd 执行此操作。例如,从 IIS Express 安装目录运行 appcmd migrate config "Default Web Site/"。使用 AppCmd 迁移您的应用程序将使其能够在集成模式下工作。它将继续在经典模式和早期版本的 IIS 上运行。如果您确定可以忽略此错误,则可以通过将 system.webServer/validation@validateIntegratedModeConfiguration 设置为 false 来禁用它。或者,将应用程序切换到经典模式应用程序池。例如,从 IIS Express 安装目录运行 appcmd set app "Default Web Site/" /applicationPool:"Clr4ClassicAppPool"。仅当您无法迁移应用程序时才执行此操作。
其中一项建议是:
将应用程序切换到经典模式应用程序池。例如,从 IIS Express 安装目录运行 appcmd set app "Default Web Site/" /applicationPool:"Clr4ClassicAppPool"。仅当您无法迁移应用程序时才执行此操作。
所以我用谷歌搜索了一下,然后去了这里:
如何将 IIS Developer Express 切换到“经典模式”
更改为经典模式的最佳解决方案是:
不需要使用appcmd,最好在项目的设置中更改它:
单击解决方案资源管理器中的 Web 项目按 F4 显示属性页面(不是属性表,而是设置常规内容的更简单的属性窗口)查找“托管管道模式”,将其更改为“经典” '
现在图表控件可以工作了。如果有人有更好的解决方案(例如,我不理解错误中的其他解决方案建议),请随时回答并对这些建议进行更清晰的描述。
| 归档时间: |
|
| 查看次数: |
14392 次 |
| 最近记录: |