使用csvhelper编写新的csv文件时,出现了stackoverflow异常。在行上引发了异常:
csv.WriteRecords(listToSave)
最初认为这是使用通用List
的原因,但也尝试使用具体列表,并且可以使用任何大小的列表和任何类型的列表进行复制。
所有列表都是使用实体框架.ToList()
创建的,还尝试过AsEnumerable()
等...
不确定我是否缺少明显的东西?
任何帮助解决的问题,深表感谢。
public string SaveTemporaryCsvToFileSystem<T>(IEnumerable<T> listToSave, string fileName)
{
//Store in folder
string folder = "C:\\inetpub\\wwwroot\\Content\\EmailOutput\\Temporary Files\\";
string filePath = fileName + DateTime.Now.Day + DateTime.Now.Month + DateTime.Now.Year + ".CSV";
if(!Directory.Exists(folder))
{
Directory.CreateDirectory(folder);
}
using (TextWriter writer = new StreamWriter(folder + filePath))
{
var csv = new CsvWriter(writer);
csv.WriteRecords(listToSave);
}
var zippedFile = ZipSecurely(folder + filePath);
DeleteUnsecureFile(folder + filePath);
return zippedFile;
}
答案 0 :(得分:1)
当我保存的类型具有Uri
属性时,我遇到了这个问题。看来System.Uri
类的结构会引起一些递归。
您的类型是否具有非基本类型的任何属性?
答案 1 :(得分:1)
我的问题是我要编写的类没有无参数的构造函数。