2016-04-23 31 views
0

Ich bekomme diese Fehler ab und zu und ich bin mir nicht sicher warum. Dieser Code wird tausende Male am Tag ausgeführt, und ich bekomme diese Fehler ab und zu. Eines der Bilder ist 94,9 KB, 1024x1024 Bild. Das Bild wird von einer Azure File Storage Diskette über UNC Pfad gelesen.System.Drawing.Image.FromFile "System.OutOfMemoryException: Nicht genügend Arbeitsspeicher."

System.OutOfMemoryException: Out of memory. 

Generated: Sat, 23 Apr 2016 15:09:54 GMT 

System.OutOfMemoryException: Out of memory. 
    at System.Drawing.Image.FromFile(String filename, Boolean useEmbeddedColorManagement) 
    at System.Drawing.Image.FromFile(String filename) 
    at Tournaments.ImageHandler.ProcessRequest(HttpContext context) in C:\Development\Exposure\Main\Websites\Tournaments\ImageHandler.ashx.cs:line 64 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

Actual-Code

using (var image = Image.FromFile(path)) 
{ 
} 
+0

Es deutet darauf hin, dass irgendwo ein Speicherleck ist. – randominstanceOfLivingThing

+0

Ich habe den obigen Code gepostet. Speicherverlust im .NET Framework? –

+1

Das Speicherleck ist wahrscheinlich in Turnieren.ImageHandler.ProcessRequest, jedoch kann dies auch durch ein Bild verursacht werden, das einfach zu groß ist oder schlechte Kopfdaten hat. –

Antwort

0

Dies schien mein Problem zu beheben, da es keinen Verweis auf es auf diese Weise nicht halten.

using (var memoryStream = new MemoryStream(File.ReadAllBytes(path))) 
      { 
       using (var image = Image.FromStream(memoryStream)) 
       { 
Verwandte Themen