Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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# 图表处理程序配置中的临时图像目录无效[C:\Users\user1\Documents\Visual Studio 2010\Website1\]_C#_Asp.net_Mschart - Fatal编程技术网

C# 图表处理程序配置中的临时图像目录无效[C:\Users\user1\Documents\Visual Studio 2010\Website1\]

C# 图表处理程序配置中的临时图像目录无效[C:\Users\user1\Documents\Visual Studio 2010\Website1\],c#,asp.net,mschart,C#,Asp.net,Mschart,我得到这个错误: 图表处理程序配置[C:\Users\user1\Documents\Visual Studio 2010\Website1]中的临时目录无效 最初,我没有为我解决的请求类型“GET”错误找到http处理程序 但是现在我得到了上面的错误 这是我的web.config <?xml version="1.0"?> <!-- For more information on how to configure your ASP.NET appl

我得到这个错误:

图表处理程序配置[C:\Users\user1\Documents\Visual Studio 2010\Website1]中的临时目录无效

最初,我没有为我解决的请求类型“GET”错误找到http处理程序

但是现在我得到了上面的错误

这是我的web.config

    <?xml version="1.0"?>
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
<configuration>

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

  <system.webServer>
    <handlers>
      <add name="ChartImg" verb="*" path="ChartImg.axd"  type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  />
    </handlers>
  </system.webServer>

  <system.web>

    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </assemblies>
    </compilation>

    <authentication mode="None" />

    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</configuration>


让我知道我做错了什么。

我也有同样的问题,我尝试了所有的方法,但没有任何效果。 直到我发现你也可以用记忆来做

所以你需要改变:

<appSettings>
<add key="ChartImageHandler" value="Storage=file;Timeout=20;"/>
</appSettings>



然后它会将图像存储在内存中。

问题在于临时目录。这可能是因为:

  • 目录不存在
  • 用户没有目录的权限
  • 您指向了错误的目录,或者
  • 当您将程序从本地PC移动到服务器时,您不再指向本地文件,而是指向URL
解决方案:

  • 如果您使用的是web服务器,那么简单而懒惰的解决方案是在aspx所在的位置创建一个名为temp的目录。并授予用户修改的权限

  • 如果您使用的是本地PC,则可以使用内存而不是文件。在web服务器中不使用此选项,因为对于许多用户来说,这是一种负担,但请使用:

    <add key="ChartImageHandler" value="Storage=memory;Timeout=20;"/>
    
    
    
  • 如果您使用的是web服务器,最好的选择是使用url,而不是这样的文件:

    <add key="ChartImageHandler" value="storage=file;timeout=20;url=~/temp" />
    
    
    
    你可以使用~/。或http://

要向ISS用户添加权限,可以是您的用户池、windows用户或您以前使用的任何用户。如果使用Windows身份验证,则应向名为“域用户”的用户授予权限。有些人向用户添加权限。此权限应包括“修改”

<add key="ChartImageHandler" value="storage=file;timeout=20;url=~/temp" />