Datei.WriteAllBytes Ursachen der Fehler "nicht genügend Systemressourcen, um den angeforderten Dienst auszuführen"

Ich habe eine standard SOAP webservice mit einem WebMethod-das akzeptiert ein byte-array und führt dann eine

[WebMethod(true)]
WriteFile(byte[] Data, string FilePath)
{

    File.WriteAllBytes(FilePath, Data);
}

Wenn dieser Prozess übergeben wird eine große Datei, z.B. 2 meg, es ist Bombardierung mit der folgenden Fehlermeldung:

Insufficient system resources exist to
den angeforderten Dienst auszuführen

Blick auf die stack-trace, die ich immer bin:

  • System.IO.Datei.WriteAllBytes
  • System.IO.FileStream.Schreiben
  • System.IO.FileStream.WriteCore
  • System.IO.__Fehler.WinIOError
  • System.IO.IOException: Insufficient system resources exist to complete therequested service

Ich habe versucht, all die offensichtlichen Dinge wie die Einstellung maxrequestlength und Ausführung timeout zu realistischeren Einstellungen:

<httpRuntime maxRequestLength="409600" executionTimeout="900"/>

Scheint es immer noch Fehler über mit den oben genannten. Wenn Sie senden eine kleinere Datei, speichert es auf die Festplatte in Ordnung.. Also es ist entweder die Dateigröße oder Zeit, das ist das Problem.

Kennt jemand etwas anderes, das ich tun kann, um zu lösen?

Dank

Dave

InformationsquelleAutor CraftyFella | 2009-06-15
Schreibe einen Kommentar