我做了一个公开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)
任何建议(我可以在10ms后添加一些重试,但是想要正确理解出错的地方以及如何正确处理这些文件上传)