【发布时间】:2011-10-21 17:43:21
【问题描述】:
我使用 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.
这种情况非常罕见,但确实如此。 有没有人遇到过类似的问题?
【问题讨论】:
-
好吧。我刚刚添加了代码,女巫为文件提供了唯一的名称并清理了旧文件。新文件被锁定。