我做了一个公开 POST 动作的小型 Webapi。我创建了一个自定义MultipartFileStreamProvider
来处理有效负载并存储文件。当我发送大量文件时会出现问题(更准确地说,一次依次发送 1500 个文件)。在我的覆盖方法ExecutePostProcessingAsync
中,我有以下行尝试读取文件
using (var fs = new FileStream(file.LocalFileName, FileMode.Open, FileAccess.Read, FileShare.Read))
但它抛出一个IOException
"The process cannot access the file"
对于其中极少数(通常是 1500 个文件中的一两个文件)。我不知道谁锁定了它(可能是 IIS 或 asp.net)
任何建议(我可能会在 10 毫秒后添加一些重试,但希望正确了解出了什么问题以及如何正确处理这些文件上传)