“在IIS7上加载RadChart图像时出错”

时间:2012-02-23 11:22:07

标签: asp.net iis-7 telerik asp.net-4.0 radchart

我在ASP.NET Web应用程序上使用Telerik RadChart控件。

在localhost上运行时可以正常工作,但现在应用程序已部署到IIS7,并出现以下错误:

enter image description here

这是为什么?我该如何解决这个问题?

我在一些论坛帖子上看到解决方案是将以下内容添加到web.config中的<system.webServer>

<add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode,runtimeVersionv2.0"/>

但是,我已经这样做了,错误仍在出现。

5 个答案:

答案 0 :(得分:4)

在web.config文件中

添加以下内容: -

 <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true"/>
    <handlers>
      <add name="ChartImage.axd_*" path="ChartImage.axd" verb="*" type="Telerik.Web.UI.ChartHttpHandler, Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4" preCondition="integratedMode" />
      <add name="Telerik.Web.UI.SpellCheckHandler.axd_*" path="Telerik.Web.UI.SpellCheckHandler.axd" verb="*" type="Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4" preCondition="integratedMode" />
      <add name="Telerik.Web.UI.DialogHandler.aspx_*" path="Telerik.Web.UI.DialogHandler.aspx" verb="*" type="Telerik.Web.UI.DialogHandler, Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4" preCondition="integratedMode" />
      <add name="Telerik.RadUploadProgressHandler.ashx_*" path="Telerik.RadUploadProgressHandler.ashx" verb="*" type="Telerik.Web.UI.Upload.RadUploadProgressHandler, Telerik.Web.UI" preCondition="integratedMode" />
      <add name="Telerik.Web.UI.WebResource.axd_*" path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI"  preCondition="integratedMode" />
    </handlers>
  </system.webServer>

解决了我的问题

答案 1 :(得分:3)

我遇到了同样的问题,对于IIS7你在&lt; system.web&gt;中的Telerik HTTP处理程序了。 &LT; HttpHandlers的&GT;需要在&lt; system.webServer&gt;&lt; handlers&gt;

我不确定你是否应该从system.web中删除,而只是复制你的telerik http处理程序 对于rad图,应该看起来像这样:

<add path="ChartImage.axd" verb="*" type="Telerik.Web.UI.ChartHttpHandler, Telerik.Web.UI, Version=2011.3.1305.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4" validate="false" />  

答案 2 :(得分:0)

我不确切地知道他们对RadChartChartHttpHandler做了什么,但我通过更改requireSSL的{​​{1}}属性解决了我的问题部分为假:

system.web > httpCookies

我们最近刚刚将我们的应用程序(使用SSL并与RadControls配合使用)迁移到新服务器,并且暂时没有运行SSL证书。

我已按照之前的所有说明解决此问题,包括将所有 <system.web> <httpCookies httpOnlyCookies="true" requireSSL="false" lockItem="true" /> </system.web> RadChart属性设置为false,同时使用EnableHandlerDetection部分中仅 的处理程序并删除system.webServer > handlers部分中的任何内容,没有运气。我要么得到OP发布的错误,要么告诉你在(旧)system.web > httpHandlers部分添加处理程序的消息 - 这些设置的排列没有帮助。

答案 3 :(得分:0)

尽管已经在<system.web> <httphandlers>(对于IIS6)和<system.webServer><handlers>(对于IIS7)中有条目,但我遇到了同样的问题。对我来说,区别在于一个ASP.NET WebForms和MVC混合的项目。 修复是在Global.asax中添加此行。现在,Reports /文件夹下的aspx页面中的任何图表都可以使用。

routes.IgnoreRoute("Reports/ChartImage.axd/{*pathInfo}"); 

希望这有帮助。

答案 4 :(得分:0)

我遇到了同样的问题,对于IIS7,你有

中的Telerik HTTP处理程序

我通过添加ChartHttpHandler

解决了这个问题
<handlers>
      <add name="ChartHandler" path="ChartImage.axd" verb="*" type="Telerik.Web.UI.ChartHttpHandler" />
</handlers>
 <add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode" />

我还加了

<rad:RadChart UseSession="false">