在应用程序日志文件中,这是我们得到的错误
2012-07-19 15:08:46,995 [17] WARN System.Web.UI.Page [(null)] - Logging:System.OutOfMemoryException: 引发了“System.OutOfMemoryException”类型的异常。在 System.String.GetStringForStringBuilder(String value, Int32 startIndex, Int32 length, Int32 capacity) 在 System.Text.StringBuilder.GetNewString(String currentString, Int32 requiredLength) 在 System.Text.StringBuilder.Append(String value)
任何人都可以建议如何避免这个问题。我们使用字符串生成器将数据写入 excel 工作表
这是代码
public void ToCSV(DataTable dt)
{
StringBuilder sb = null;
try
{
sb = new StringBuilder(50*1024);
foreach (DataColumn col in dt.Columns)
{
sb.Append(col.ColumnName + ",");
}
sb.Remove(sb.Length - 1, 1);
sb.Append(Environment.NewLine);
foreach (DataRow row in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
sb.Append("\"" + row[i].ToString() + "\"" + ",");
}
sb.Append(Environment.NewLine);
}
Session["exportsCsv"] = sb;
sb = null;
}
catch (Exception ex)
{
log4net.Config.XmlConfigurator.Configure();
log.Warn("Logging:" + ex);
}
finally {
sb = null;
}
//