Sun 4 Jul 2010
Recently I have been using ASP.NET on our servers to manage internal processes. As part of this effort I needed to chart out certain process values. To accomodate this
I decided to use Microsoft’s charting controls.
These controls are pretty nice. They offer nearly the same charting options as you would expect from Excel; it is pretty rich in functionality. After a quick
wiring in the control in a web page and installing the control on our server it was up and running. Very fast; very cool.
However, our Macintosh computers could not display the chart in the Safari browser. They would render the page correctly but would display the graphic chart.
Annoyed by this I researched and found that others were having similar problems.
To avoid boring you with the long and drawn out story this is what worked for our setup:
The fixes were in the web.config file:
1) We decided to use session based image processing:
<appSettings>
<add key="ChartImageHandler" value="storage=session;timeout=20;" />
...other stuff...
</appSettings>
2) We use postbacks for a variety of reasons on our web pages. Apparently the default installation of the charting controls do not bind ot the POST
verb. This needs to be changed:
a) Change in the httpHandler section:
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
...other stuff...
</httpHandlers>
b) Change in the handlers section:
<handlers accessPolicy="Read, Script">
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
...other stuff...
</handlers>
I hope that this helps.
Leave a Reply
You must be logged in to post a comment.