Я использую приведенный ниже код, чтобы сохранить опубликованный файл на сервере, но этот файл постоянно читается, и мне нужно использовать FileShare.ReadWrite, чтобы не получить заблокированную ошибку.
httpRequest.Files[0].SaveAs(filePath);
Ниже мой метод чтения, как мне добиться этого с помощью файла HttpPosted - это правильный путь с наилучшей производительностью.
using (var fileStream = new FileStream(
fileLocation,
FileMode.Open,
FileAccess.Read,
FileShare.ReadWrite))
{
using (var streamReader = new StreamReader(fileStream))
{
xDocument = XDocument.Parse(streamReader.ReadToEnd());
}
}
Это мой лучший вариант?
using (var memoryStream = new MemoryStream())
{
httpRequest.Files[0].InputStream.CopyTo(memoryStream);
var bytes = memoryStream.ToArray();
using (var fs = File.Open(filePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite))
{
fs.Write(bytes, 0, bytes.Length);
}
}