c# - Web 表单中的 ASP.Net 图表适用于本地系统,不适用于 Web 服务器

标签 c# asp.net web-config webforms mschart

我正在 asp.net 4.0 Web 表单应用程序中使用 MS Charts 4.0 来生成一些图表。它在 Windows 7、IIS 7.5、Visual Studio 2010 和 ASP.net 4.0/FW 4.0 的本地系统上运行良好。

当我在网络服务器上上传相同内容时,它会生成错误 执行 ChartImg.axd 的子请求时出错。

        <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>
      <appSettings>
        <add key="ChartImageHandler" value="Storage=file;Timeout=20;Url=~/tempImages/;" />
      </appSettings>

      <system.webServer>
 <!--       
        <handlers>
          <add name="ChartImg" 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"  />
        </handlers>
-->
        <validation validateIntegratedModeConfiguration="false" />
      </system.webServer>

实现几个解决方案后,它仍然不起作用。我尝试在 system.webserver 中使用处理程序,因为您可以看到它在代码中被注释,但它仍然不起作用。如果我在不同的网络服务器上上传相同的内容,它可以工作,但在实时服务器上,它不起作用。 Live服务器还安装了IIS 7.5、Framework 4.0。

您能告诉我它是否与网络服务器配置有关,而不是与 web.config 文件有关,因为相同的代码在本地计算机和 mochahost 共享托管测试帐户上运行良好,但在实时服务器上运行不佳。

我尝试了以下和相关的解决方案,但似乎都不起作用 MSCharts "No http handler was found for request type 'GET'" error

最佳答案

在我的实时配置中,我实际上同时拥有 HTTPHandler 和 Handlers:

<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=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </handlers> </system.webServer>

<system.web><br/> <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> </system.web>

但也可能是您没有正确访问 ~/tempimages/文件夹?

关于c# - Web 表单中的 ASP.Net 图表适用于本地系统,不适用于 Web 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9652766/

相关文章:

c# - 如何从另一个 Controller 重定向到索引?

C#自增运算符错误: Operand is not syntactically correct?

asp.net - 身份验证-当项目位于 FormsAuthentifications 下时,单个文件夹(页面)无身份验证

web-config - < assemblyBinding > 中的版本号是否应该与 Nuget 版本号匹配?

没有 web.config 的 Azure 和 .json mimeType

c# - “DropDownList1”具有无效的 SelectedValue,因为它不存在于项目列表中。参数名称 : value

c# - 如何将 "error CS0029 Cannot implicitly convert type ' UnityEngine.Quaternion' 修复为 'UnityEngine.Vector3"

c# - 如何在没有用户交互的情况下在 ASP.NET 中启动任务

c# - 工作队列和用户上下文

负载均衡环境下的Asp.net session 管理