微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 .NET Framework Web 应用程序中生成大型 .csv 文件100 万行以上

如何解决在 .NET Framework Web 应用程序中生成大型 .csv 文件100 万行以上

我们在 Azure 中部署了一个 .NET Framework (4.8) Web 应用程序,它具有用户可以将原始数据导出到 .csv 文件功能。数据集很大,可能有数百万行,大约有 20 列。

以前,导出功能使用 OpenXML SDK 生成 .xslx 文件,但该过程太长(可能需要长达 2 小时)。此外,通常用户点击导出然后关闭浏览器,有时应用程序域会被应用程序池生命周期回收,这导致文件生成永远不会随着进程被终止而完成。

我们将文件格式更改为 .csv,现在处理一百万行大约需要 15 分钟。减少执行时间 = 减少应用域在文件生成结束前被回收的机会。

但是,我们仍然不确定该文件是否会一直生成,并且我们担心将来(因为 DB 不断增长)该进程很容易再次被杀死。

我们目前正在考虑另一种方法,我一直在研究 Azure Web 作业、Windows 服务等,但我没有找到任何可以满足我们需求的方法:根据用户的请求从 Web 界面生成一个文件和然后通过电子邮件发送下载链接。这个过程需要很快,我们需要确保它总是能完成执行。

我想知道你们中是否有人对如何解决这个问题有任何想法。

我们想知道如何从 Web 应用程序中提取文件生成,以及如何根据用户请求触发它(这意味着我们需要将参数传递给该文件生成)。

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。