我在ASP.NET Web应用程序上使用Telerik RadChart控件。
在localhost上运行时可以正常工作,但现在应用程序已部署到IIS7,并出现以下错误:
这是为什么?我该如何解决这个问题?
我在一些论坛帖子上看到解决方案是将以下内容添加到web.config中的<system.webServer>
:
<add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode,runtimeVersionv2.0"/>
但是,我已经这样做了,错误仍在出现。
答案 0 :(得分:4)
添加以下内容: -
<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)
我不确切地知道他们对RadChart
和ChartHttpHandler
做了什么,但我通过更改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">