Я загружаю большие файлы, разделяя их на куски (мелкие части) на своем веб-сервисе ASMX (asmx не поддерживает потоковую передачу, я не нашел другого способа):
bool UploadChunk(byte[] bytes, string path, string md5)
{
...
using (FileStream fs = new FileStream(tempPath, FileMode.Append) )
{
fs.Write( bytes, 0, bytes.Length );
}
...
return status;
}
, но в некоторых файлах~ 20-50 вызывает, я ловлю эту ошибку:Процесс не может получить доступ к файлу, потому что он используется другим процессом.Я подозреваю, что это связано с Windows не может реализовать файл.Есть идеи, чтобы избавиться от этой скучной ошибки? EDIT запросы выполняются последовательно и синхронно
EDIT2
код клиента выглядит так:
_service.StartUpload(path);
...
do
{
..
bool status = _service.UploadChunk(buf, path, md5);
if(!status)return Status.Failed;
..
}
while(bytesRead > 0);
_service.CheckFile(path, md5);