Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET图表在服务器上不工作_C#_Asp.net_Graph_Web Config - Fatal编程技术网

C# ASP.NET图表在服务器上不工作

C# ASP.NET图表在服务器上不工作,c#,asp.net,graph,web-config,C#,Asp.net,Graph,Web Config,我一直在尝试制作一个web应用程序,当我在笔记本电脑上运行它时,一切似乎都正常,但当我尝试将它上传到服务器时,它就不工作了。我使用.NET4上的GoDaddyWindows服务器。我试图修改web.config文件,但似乎不起作用 这就是我在web.cofig中的临时图像保存位置的外观 <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" /> 我错过什么了

我一直在尝试制作一个web应用程序,当我在笔记本电脑上运行它时,一切似乎都正常,但当我尝试将它上传到服务器时,它就不工作了。我使用.NET4上的GoDaddyWindows服务器。我试图修改web.config文件,但似乎不起作用

这就是我在web.cofig中的临时图像保存位置的外观

  <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />


我错过什么了吗?请提供帮助。

如果共享主机上的服务器上不存在c:\TempImageFiles\folder,并且如果您可以添加该文件夹,则asp.net应用程序无权在其根文件夹之外进行写入

将其存储到会话中

<add key="ChartImageHandler" value="storage=session;timeout=20;" />

猜测
c:\TempImageFiles\
会在您的服务器上产生问题

您还可以尝试将存储模式设置为
storage=memory
istead of
storage=file

还应检查此良好的文档:

我在Godaddy 4GH共享托管计划中也遇到了同样的问题,我想我会分享我的解决方案

  • 将图表控件插入Default.aspx

    以下代码应该在代码隐藏文件中弹出

    <%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
    
    
    
  • 编辑web.config文件

    我按照上的说明从web.config文件中完全删除了httpHandlers节点,并用以下代码重写了handlers节点

    <handlers>
        <remove name="ChartImageHandler" />
        <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>
    
    
    
  • 创建一个目录来存储图表

    我在应用程序根目录中创建了一个名为Charts的新文件夹

  • 更改图表控件设置

    像这样更新ImageStorageMode和ImageLocation属性

    <asp:Chart ID="Chart1" runat="server" ImageStorageMode="UseImageLocation" ImageLocation="~/Charts/ChartPic_#SEQ(300,3)">
        <series>
            <asp:Series Name="Series1">
            <Points>
            <asp:DataPoint AxisLabel="Greg" YValues="1" />
            </Points>
            </asp:Series>
        </series>
        <chartareas>
            <asp:ChartArea Name="ChartArea1">
            </asp:ChartArea>
        </chartareas>
    </asp:Chart>
    
    
    
  • 出版给戈达迪

  • 在已发布网站的“图表”文件夹上编辑文件权限

    • 登录您的主机控制中心
    • 单击内容下的FTP文件管理器
    • 导航到应用程序根目录
    • 选中图表文件夹旁边的复选框
    • 单击菜单上的权限
    • 取消选中“继承”
    • 检查写入(保持读取处于选中状态)
    • 单击“确定”

  • 每次重新发布应用程序时,您都必须重复步骤6。

    谢谢您的回复。但问题似乎依然存在。godaddy中仍然出现“500内部服务器错误”。可能是由于其他原因,您应该在web.config中将customErrors模式设置为off以查看错误详细信息!谢谢!