2013-08-26 16 views
16

Ho ottenuto il seguente problemaÈ stata generata un'eccezione di tipo "System.OutOfMemoryException".

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 


[OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.] 
    System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0 
    System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) +567 
    System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +192 
    System.Reflection.Assembly.Load(String assemblyString) +35 
    System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +123 

[ConfigurationErrorsException: Exception of type 'System.OutOfMemoryException' was thrown.] 
    System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +11569328 
    System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +485 
    System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +79 
    System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +337 
    System.Web.Compilation.BuildManager.CallPreStartInitMethods() +280 
    System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1167 

[HttpException (0x80004005): Exception of type 'System.OutOfMemoryException' was thrown.] 
    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11702064 
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141 
    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4870277 

Non ho cambiato il codice? che cosa significa questo problema, come vedo non c'è più dichiarazione sull'errore

+0

Cosa facevi prima di questa eccezione ha iniziato a verificarsi? – Nisha

+0

quale evento ha attivato questo errore. Per esempio inserisci, seleziona, ecc. – Sasidharan

risposta

22

Questo problema si verifica in genere quando alcuni processi come il caricamento di dati enormi sul flusso di memoria e la memoria di sistema non sono in grado di memorizzare una grande quantità di dati . Prova a svuotare la cartella Temp dando il comando

Start -> Esegui ->% temp%

+0

Prova a controllare i tuoi processi e vedi quando si esegue la pagina vuota, l'escursione della memoria. Controlla se il tuo sistema ha abbastanza memoria per caricare una pagina. Sembra che si blocchi sulla pagina init stessa. – Nisha

+5

Leggi questo. È un grande articolo! http://blogs.iis.net/webtopics/archive/2009/05/22/troubleshooting-system-outofmemoryexceptions-in-asp-net.aspx – inon

10

esecuzione in modalità di debug

Quando si sta sviluppando e il debug di un'applicazione, è verrà eseguito generalmente con l'attributo debug nel file web.config impostato su true e le DLL compilate in modalità debug. Tuttavia, prima di distribuire l'applicazione per testare o per la produzione, è necessario compilare i componenti in modalità di rilascio e impostare l'attributo debug su false.

ASP.NET funziona in modo diverso su molti livelli quando si esegue in modalità di debug. Infatti, quando si esegue la modalità di debug, il GC consentirà agli oggetti di rimanere in vita più a lungo (fino alla fine dell'ambito) in modo da visualizzare sempre un maggiore utilizzo della memoria durante l'esecuzione in modalità di debug.

Un altro effetto collaterale spesso non eseguito dell'esecuzione in modalità di debug è che gli script client gestiti tramite i gestori webresource.axd e scriptresource.axd non verranno memorizzati nella cache. Ciò significa che ogni richiesta client dovrà scaricare qualsiasi script (come gli script AJAX di ASP.NET) anziché sfruttare la memorizzazione nella cache sul lato client. Ciò può comportare un notevole calo delle prestazioni.

Fonte: http://blogs.iis.net/webtopics/archive/2009/05/22/troubleshooting-system-outofmemoryexceptions-in-asp-net.aspx

4

Se si utilizza IIS Express, selezionate Show All Application da IIS espresso nell'area di notifica barra delle applicazioni, quindi selezionare Stop All.

Ora rieseguire l'applicazione.

5

Ho appena riavviato Visual Studio e ho fatto IISRESET che ha risolto il problema.

7

Un'altra cosa da provare è

Strumenti -> Opzioni -> Ricerca per IIS -> spuntare Utilizzare la versione a 64 bit di IIS Express per i siti web e progetti.

Use the 64 bit version of IIS Express for web sites and projects screenshot

Problemi correlati