Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Qantità di memoria allocata dagli oggetti
martedì 06 marzo 2012 - 15.44
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
.NET 3.5
|
.NET 4.0
|
Windows 7
|
Visual Studio 2010
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
mar 6 mar 2012 - 15:44
Nello specifico la domanda è riferita all'utilizzo dell'oggetto Session e Application.
Nel sito web che sto sviluppando faccio un uso massiccio delle dictionary Session e Application come cache per memorizzare oggetti di diverso tipo.
Ora quello che mi chiedo è che cosa succede se occupo totalmente la memoria disponibile? Come si comporta l'ambiente .net (in questo caso specifico Aspnet)?
Mi genera un eccezione oppure elimina automaticamente oggetti in memoria (anche se ancora utilizzati) per allocare nuovo spazio?
Andrea Restucci - Web Developer
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 6 mar 2012 - 17:13
>Ora quello che mi chiedo è che cosa succede se occupo totalmente
>la memoria disponibile? Come si comporta l'ambiente .net (in
>questo caso specifico Aspnet)?
se utilizzi gli opportuni pattern (vedi la using) e fai le dispose correttamente in teoria il garbage collector pulisce gli oggetti obsoleti liberando memoria.
Certo è che se non gestisci bene le eccezioni e riempi i pool, ti prendi un bel Server too busy.
Se gestisci invece in maniera ottimale tutto e ottieni comunque lo stesso errore potresti essere fortunato
, hai un sacco di connessioni (e quindi tanti utenti potenzialmente).
Dico "potresti" perchè potrebbe pure essere un attacco
approfondisci qui:
http://msdn.microsoft.com/en-us/library/ee787088.aspx
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
mer 7 mar 2012 - 09:11
ok grazie, anche se per esempio nel mio caso utilizzando aspnet salvo grandi collection in Session, in questo caso anche se identifico il punto in cui una certa collection non viene più utilizzata cè poco da fare, devo solo aspettare che il Garbage rilevi che non è più utilizzata e faccia pulizia.
Lo using se non sbaglio serve a richiamare in automatico il metodo dispose quando l'oggetto non è più utilizzato e se questa affermazione è giusta a questo punto mi chiedo se ha senso utilizzare lo using su oggetti privi di metodo dispose, giusto? oppure ho detto una baggianata?
Andrea Restucci - Web Developer
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 8 mar 2012 - 11:14
>Lo using se non sbaglio serve a richiamare in automatico il metodo
>dispose quando l'oggetto non è più utilizzato e se questa affermazione
>è giusta a questo punto mi chiedo se ha senso utilizzare lo using
>su oggetti privi di metodo dispose, giusto? oppure ho detto una
>baggianata?
no, non puoi, se provi ad usarlo, ti prendi un bel "non implementa la IDisposable"
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !