I use charts from System.Web.DataVisualization.
<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
...
<asp:Chart ImageType="Png" runat="server" ID="chartStatComp" Palette="BrightPastel"
ImageLocation="~/CRM/Reports/chartStatComp_#SEQ(100,10)" ImageStorageMode="UseImageLocation"
Width="620" Height="300">
<ChartAreas>
<asp:ChartArea Name="MainChartArea">
</asp:ChartArea>
</ChartAreas>
<Series>
<asp:Series ChartArea="MainChartArea" ChartType="Pie" XValueType="String" YValueType="Int32"
CustomProperties="DoughnutRadius=25, PieDrawingStyle=Concave, CollectedLabel=Other, MinimumRelativePieSize=20"
XValueMember="StateDescription" YValueMembers="CNT" Legend="Legend" IsVisibleInLegend="true"
IsValueShownAsLabel="true">
</asp:Series>
</Series>
<Legends>
<asp:Legend LegendStyle="Table" Name="Legend" Alignment="Near"
TitleAlignment="Near">
<CellColumns>
<asp:LegendCellColumn Text="Color" ColumnType="SeriesSymbol" />
<asp:LegendCellColumn Text="#LEGENDTEXT" ColumnType="Text" Alignment="TopLeft" HeaderText="State" />
<asp:LegendCellColumn Text="#VAL" ColumnType="Text" Name="Cnt" Alignment="TopLeft"
HeaderText="Count" />
<asp:LegendCellColumn Text="#PERCENT" ColumnType="Text" Name="Percentage" Alignment="TopLeft"
HeaderText="%" />
</CellColumns>
</asp:Legend>
</Legends>
</asp:Chart>
It works well most of the time. But sometimes users gets the exception:
System.IO.IOException: The process cannot access the file '~\Reports\chartStatComp_000001.png' because it is being used by another process.
Its happens very rare but it does. Does anyone faced with similar problem?
Please provide the code for more analysis .
But at this point it can be assumed that the file must be in open state at the time you try to write/read. It must be happening in rare cases as the file might be in process and may have not finished its process. Your code execution was fast enough to get into such type of coincidence.