大きなレコード セット (約 1M レコード) を読んでいてSqlDataReader
、iTextSharp を使用して PDF ドキュメントにエクスポートしようとしています。これは私のコードです:
if (reader.HasRows)
{
int rowNum = 0;
while (reader.Read())
{
if (rowNum % 2 == 1)
datatable.DefaultCell.GrayFill = 0.8f;
else
datatable.DefaultCell.GrayFill = 0.95f;
if (meRes.Trans(Lang, "Dir", CompanyID).ToUpper() == "RTL")
for (int i = reader.FieldCount - 1; i >= 0; i--)
{
object o = reader[i];
datatable.AddCell(new Phrase(o.ToString(), fntList));
}
else
for (int i = 0; i < reader.FieldCount; i++)
{
object o = reader[i];
datatable.AddCell(new Phrase(o.ToString(), fntList));
}
rowNum++;
}
myDocument.Add(datatable);
}
これを実行すると、ひどいメモリリークが発生します。これを改善するために他に何ができますか?