我正在使用新的free .net chart controls,当我在visual studio中运行项目时,它们似乎工作正常,但是当通过IIS点击同样的时候,我得到了异常:
[HttpException (0x80004005): No http handler was found for request type 'GET']
System.Web.HttpApplication.MapIntegratedHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig, Boolean convertNativeStaticFileModule) +529
System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) +947
[HttpException (0x80004005): Error executing child request for ChartImg.axd.]
System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) +4120098
System.Web.UI.DataVisualization.Charting.ChartHttpHandler.EnsureInitialized(Boolean hardCheck) +266
System.Web.UI.DataVisualization.Charting.Chart.GetImageStorageMode() +25
System.Web.UI.DataVisualization.Charting.Chart.Render(HtmlTextWriter writer) +133
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +240
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +240
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +253
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +87
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +53
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +240
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +240
System.Web.UI.Page.Render(HtmlTextWriter writer) +38
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4240
知道我做错了什么吗?谢谢!
答案 0 :(得分:3)
找到解决方案(某种程度)
解决方案:看起来我在web.config中有正确的httpHandler,但是我错过了一个hander和appSetting(详见第二篇帖子here)。一旦我把那些整理好了,就行了。
缺少点:不确定为什么在使用visual studio运行它时会有效。没有这些设置的图应该在两种环境中都失败了(visual studio和iis)。好奇。
感谢大家的帮助,指出了一些好的方向。
答案 1 :(得分:1)
您是否尝试将项目的干净版本发布到IIS,因为您似乎缺少处理图表图像生成的处理程序。
答案 2 :(得分:1)
看起来您的IIS设置为不处理GET动词。要检入IIS,然后转到该站点,然后单击Handler Mappings,找到.aspx处理程序,单击请求限制,然后单击动词。
如果也可能介于两者之间 - 比如IIS网址扫描。
答案 3 :(得分:1)
您使用的是IIS 7吗?我在IIS 7中遇到了同样的问题,我在应用程序池中将“托管管道模式”切换为Classic。