UnauthorizedAccessException -映像位置不在指定的目录下



我正在将一个用asp . net编写的网站从windows server 2003机器复制到安装IIS 8.5的windows server 2012。

这个网站在旧机器上运行得很好,但是在新机器上我的任何网页上都没有显示任何图表。

我得到一个奇怪的错误:

    General Information
--------------------------------
MachineName: AYEVENS12MAVTST
TimeStamp: 10/08/2014 11:38:18
WindowsIdentity: NT AUTHORITYSYSTEM
Exception Information
---------------------------------------
Exception Type: System.UnauthorizedAccessException
Message: The image location is not under specified directory.
Data: System.Collections.ListDictionaryInternal
TargetSite: Void ValidateUri(System.String)
HelpLink: NULL
Source: System.Web.DataVisualization
HResult: -2147024891
StackTrace Information
---------------------------------------
   at System.Web.UI.DataVisualization.Charting.ChartHttpHandlerSettings.ValidateUri(String key)
   at System.Web.UI.DataVisualization.Charting.DefaultImageHandler.System.Web.UI.DataVisualization.Charting.IChartStorageHandler.Load(String key)
   at System.Web.UI.DataVisualization.Charting.ChartHttpHandler.ProcessSavedChartImage(HttpContext context)
   at System.Web.UI.DataVisualization.Charting.ChartHttpHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

这很奇怪,因为我看到图片的路径是正确的,我可以打开图片没有问题。我认为这是一个权限问题,但我完全控制了包含IIS_USRS和WindowsIdentity: NT AUTHORITYSYSTEM的文件夹,同样的错误不断弹出。让我烦恼的是消息"图像位置不在指定的目录下",因为图像是在它应该在的地方。

您是否尝试使用web模拟特定授权的windows帐户?配置文件?

    <configuration>
      <system.web>
        <identity impersonate="true" userName="user name" password=" user password" />
      </system.web>
    </configuration>

我通过(不小心)删除

行来解决这个问题
<add key="ChartImageHandler" value="storage=file;privateImages=false;timeout=600;dir=c://TempImageFiles;deleteAfterServicing=false;" />

从webconfig,我不知道为什么这工作

最新更新