【发布时间】:2011-04-26 17:36:46
【问题描述】:
即使我的应用程序关闭并完成,当我查看任务管理器 -> 进程时,也会出现 有许多 Excel 进程甚至会阻止我的计算机关机。
这是我的代码:
private void write_data_to_excel(byte[] input)
{
FileStream f = File.OpenWrite("StocksData.xls");
f.Write(input, 0, input.Length);
f.Close();
}
导致此问题的另一种可能方法:
private void get_stocks_data()
{
byte[] result;
byte[] buffer = new byte[4096];
try
{
WebRequest wr = WebRequest.Create("http://www.tase.co.il/TASE/Pages/ExcelExport.aspx?sn=none&enumTblType=allShares&Columns=noneColumns&Titles=noneTitles&action=1&SubAction=0&GridId=33&CurGuid={0BDA5110-EF93-44CB-A0F0-468C6F502B51}&ExportType=1");
using (WebResponse response = wr.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (MemoryStream memoryStream = new MemoryStream())
{
int count = 0;
do
{
count = responseStream.Read(buffer, 0, buffer.Length);
memoryStream.Write(buffer, 0, count);
} while (count != 0);
result = memoryStream.ToArray();
write_data_to_excel(result);
}
}
}
}
我的代码还包含:
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(file, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
这些方法被优先调用... 我没有关闭什么或...?
【问题讨论】:
标签: c# winforms memory-leaks