Картинииконитрапезни маси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.