У меня есть стандартный веб-сервис SOAP с WebMethod, который принимает массив байтов, а затем выполняет
[WebMethod(true)]
WriteFile(byte[] Data, string FilePath)
{
File.WriteAllBytes(FilePath, Data);
}
Если этому процессу передается большой файл, например, 2 мегабайта разлетается со следующим сообщением об ошибке:
Недостаточно системных ресурсов для
завершить запрошенную услугу
Глядя на трассировку стека, я получаю:
- System.IO.File.WriteAllBytes
- System.IO.FileStream.Write
- System.IO.FileStream.WriteCore
- System.IO .__ Error.WinIOError
- System.IO.IOException: недостаточно системных ресурсов для завершения запрашиваемой службы
Я пробовал все очевидные вещи, такие как установка максимальной длины запроса и выполнение тайм-аута для более реалистичных настроек:
<httpRuntime maxRequestLength="409600" executionTimeout="900"/>
Кажется, что все еще не удалось с вышеуказанным. Если вы отправляете файл меньшего размера, он отлично сохраняется на диске. Таким образом, проблема заключается в размере файла или времени.
Кто-нибудь знает что-нибудь еще, что я могу сделать, чтобы разобраться с этим?
Спасибо
Dave