同时保存文件和上传

本文关键字:保存文件 | 更新日期: 2023-09-27 18:32:37

我正在编写一个应用程序,该应用程序根据时间戳每 1 秒创建文件,然后将它们移动到另一个文件夹,然后将它们作为帖子发送到将它们保存在文件夹中的 Web 服务。运行生成函数时,它会成功生成。当运行上传函数时,它会成功上传它们。但是当运行它们和后台工作线程组件时,第一个组件可以完美运行,但上传机制告诉它们该文件是由另一个进程打开的。我该如何解决这个问题?感谢

同时保存文件和上传

在处理实现 IDisposable 接口的类(如文件流类(时,一个好的做法是将这些类用法包装在 unsing 语句中。从 MSDN:

    //Create the file.
    using (FileStream fs = File.Create(path))
    {
        AddText(fs, "This is some text");
        AddText(fs, "This is some more text,");
        AddText(fs, "'r'nand this is on a new line");
        AddText(fs, "'r'n'r'nThe following is a subset of characters:'r'n");
        for (int i=1;i < 120;i++)
        {
            AddText(fs, Convert.ToChar(i).ToString());
        }
    }

您应该注意的另一件事是多线程同步。也许您的"上传"后台工作线程正在尝试访问该文件,然后您的"生成文件"后台工作线程有时间完成创建它。