【问题标题】:Exception thrown when starting StreamWriter启动 StreamWriter 时抛出异常
【发布时间】: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


【解决方案1】:

对于我的特殊情况,问题在于StreamWriter 代码被执行两次,而不是预期的一次。感谢用户 TheGeneral 在 cmets 中指导我正确的方向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 2018-10-16
    • 2013-05-24
    • 1970-01-01
    • 2019-06-23
    • 2016-10-23
    相关资源
    最近更新 更多