Tôi có một webservice SOAP tiêu chuẩn với một WebMethod mà chấp nhận một mảng byte và sau đó thực hiện mộtFile.WriteAllBytes gây ra lỗi "tài nguyên hệ thống không đủ tồn tại để hoàn thành dịch vụ được yêu cầu"
[WebMethod(true)]
WriteFile(byte[] Data, string FilePath)
{
File.WriteAllBytes(FilePath, Data);
}
Nếu quá trình này được thông qua một tệp lớn, ví dụ 2 meg nó được ném bom ra với thông báo lỗi sau:
tài nguyên hệ thống không đủ để tồn tại hoàn thành dịch vụ yêu cầu
Nhìn vào stack trace tôi nhận được:
- System.IO.File.WriteAllBytes
- System.IO.FileStream.Write
- System.IO.FileStream.WriteCo tái
- System.IO .__ Error.WinIOError
- System.IO.IOException: tài nguyên hệ thống không đủ tồn tại để hoàn thành dịch vụ therequested
Tôi đã thử tất cả những điều hiển nhiên như thiết lập các maxRequestLength và thực hiện thời gian chờ đến các cài đặt thực tế hơn:
<httpRuntime maxRequestLength="409600" executionTimeout="900"/>
Dường như vẫn không thành công với những điều trên. Nếu bạn gửi một tập tin nhỏ hơn, nó sẽ tiết kiệm cho đĩa tốt .. Vì vậy, đó là một trong hai kích thước tập tin hoặc thời gian đó là vấn đề.
Có ai biết bất kỳ điều gì khác tôi có thể làm để sắp xếp việc này không?
Cảm ơn
Dave
Xin chào. Nhìn vào MSDN nó nói rằng mặc định là 4096 (4MB) ... Nó nói nó bằng kilobyte .. msdn.microsoft.com/en-us/library/… Có sai không? – CraftyFella
Ngoài ra nó hoạt động tốt trên phát triển và môi trường thử nghiệm của chúng tôi, rất kỳ quặc! – CraftyFella
MaxRequestLength bằng kilobyte. – OrionRobillard