我使用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>
大部分时间都运作良好。但有时候用户会得到例外:
System.IO.IOException: The process cannot access the file '~\Reports\chartStatComp_000001.png' because it is being used by another process.
它的发生非常罕见但确实如此。 有没有人遇到过类似的问题?
答案 0 :(得分:0)
请提供代码以进行更多分析。
但是此时可以假设在您尝试写入/读取时文件必须处于打开状态。它必须在极少数情况下发生,因为文件可能正在处理中,并且可能尚未完成其过程。你的代码执行速度足够快,可以进入这种类型的巧合。