0

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

该网站在旧机器上运行良好,但在新机器上我的任何网页中都没有显示图表。

我收到一个奇怪的错误:

    General Information
--------------------------------
MachineName: AYEVENS12MAVTST
TimeStamp: 10/08/2014 11:38:18
WindowsIdentity: NT AUTHORITY\SYSTEM

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 AUTHORITY\SYSTEM,并且不断弹出相同的错误。困扰我的是“图像位置不在指定目录下”的消息。因为图像是它应该在的地方。

任何帮助,将不胜感激。

4

2 回答 2

0

您是否尝试过使用 web.config 文件模拟特定的授权 Windows 帐户?

    <configuration>
      <system.web>
        <identity impersonate="true" userName="user name" password=" user password" />
      </system.web>
    </configuration>
于 2014-08-10T13:38:22.020 回答
0

好吧,我通过(意外)删除了该行来解决它

<add key="ChartImageHandler" value="storage=file;privateImages=false;timeout=600;dir=c://TempImageFiles;deleteAfterServicing=false;" />

从 webconfig,我不知道为什么会这样。

于 2014-08-12T10:45:52.990 回答