【发布时间】:2021-12-23 17:44:50
【问题描述】:
每 24 小时,我的代码会自动生成一个 .csv 文件,将其临时写入 Azure 目录,最后在对其进行操作后将其删除。
它成功了,但是从我可以看到的日志中,抛出了一个异常。
例外:
"进程无法访问文件 'D:\home\site\wwwroot\myFile.csv' 因为它正被另一个进程使用。”
日志指向这两行代码,我只是指定目录和文件名,然后启动一个StreamWriter:
string filePath = Environment.CurrentDirectory + "\\myFile.csv"; //Specify where to create csv on hosted Azure server (not locally)
using (var w = new StreamWriter(filePath, false, new UTF8Encoding(false))) //Exception is thrown here
{
//more code
}
我很困惑,上面两行怎么会导致那个异常,特别是因为文件在上传后总是被删除。
【问题讨论】:
-
2个进程访问同一个文件,就这么简单
-
当我告诉你这一点时,你需要相信我,有 多个进程试图访问(或写入)位于一次(即使您认为它是一个新文件)。请注意,azure 服务是可扩展的,尤其是功能,尤其是消费计划上的功能...编辑,哦,您的评论已经消失了
-
@TheGeneral 阅读您的评论后,我对日志进行了更多挖掘,我可以看到,上传/删除文件的过程执行了 两次 次而不是一次.谢谢你指引我正确的方向!欢迎您对此帖提供官方答复。
-
:) 没问题,祝你好运
-
@TheGeneral - 请发布您的 cmets 作为答案。谢谢。
标签: c# azure .net-core streamwriter