我刚创建了一个网页,其中包含一些带有一些数据点的准直图表进行测试。在localhost上,图表按预期显示没有问题。但是当我部署到我的webhost时,我得到了500 - 内部服务器错误
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.
这是Visual Studio上传的web.config。你能告诉我这个web.config中有什么缺失或错误吗? appSettings在C:中看起来很可疑,但是如何更改呢?感谢。
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />
</appSettings>
<system.webServer>
<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>
</system.webServer>
<system.web>
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
</httpHandlers>
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</controls>
</pages>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
</system.web>
</configuration>
答案 0 :(得分:5)
试试这个链接 http://asifhuddani.wordpress.com/2010/10/07/chart-control-asp-net-4-0-and-iis-7-problem/
然后删除dir = c:\ TempImageFiles \;来自web.config
答案 1 :(得分:2)
我遇到了同样的问题,即在同一部分添加了500个服务器错误。两个更改解决了500服务错误。
替换为“add path =”ChartImg.axd“verb =”GET,HEAD with add path =“ChartImg.axd”verb =“GET,HEAD,POST”。
在system.webServer标记之后添加了一行:
[validation validateIntegratedModeConfiguration =“false”/]
我不得不替换&lt;用[,否则预览没有显示标签。
答案 2 :(得分:0)
问题是临时目录。可能是因为:
解决方案:
如果使用的是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身份验证,则应将权限授予名为“域用户”的用户。有人向所有人添加用户权限。此权限应包括“修改”