我正在将一个用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的文件夹,同样的错误不断弹出。 让我感到困扰的是“图像位置不在指定目录下”的消息。因为图像是它应该的位置。
任何帮助都将不胜感激。
答案 0 :(得分:0)
您是否尝试使用web.config文件模拟特定的授权Windows帐户?
<configuration>
<system.web>
<identity impersonate="true" userName="user name" password=" user password" />
</system.web>
</configuration>
答案 1 :(得分:0)
我通过(意外地)移除线
解决了这个问题<add key="ChartImageHandler" value="storage=file;privateImages=false;timeout=600;dir=c://TempImageFiles;deleteAfterServicing=false;" />
来自网络配置,我不知道为什么会这样。