Domanda

Quali sono le opzioni per riciclare l'oggetto stato dell'applicazione ASP.Net? Sto usando quell'oggetto per archiviare le code delle connessioni al database per un livello di accesso ai dati basato sul web. Sono preoccupato che per giorni / settimane / mesi finirò per allocare quantità crescenti di memoria su connessioni a db che non sono più in uso. Le connessioni vengono generate automaticamente quando necessario, quindi preservarle non è estremamente importante.

Sarebbe bello analizzare selettivamente lo stato dell'applicazione e rilasciare ciò che non mi serve. Ma su una base pratica far cadere semplicemente l'intero oggetto e ricominciare da capo funzionerebbe altrettanto bene. Tuttavia, devo fare attenzione che il processo di eliminazione non uccida le connessioni attualmente in uso.

È stato utile?

Soluzione

Cosa è successo prima di iniziare a memorizzare le connessioni nella cache? La memorizzazione nella cache ha causato miglioramenti misurabili delle prestazioni o dell'utilizzo delle risorse? Sarei un po 'sorpreso se lo facesse, considerando che ADO.NET fa il pool di connessioni per te.

Non ci sono opzioni di riciclaggio per lo stato dell'applicazione. È per server, per AppDomain.

Per un'altra opzione di memorizzazione nella cache, considerare l'uso dell'oggetto Cache. È anche per applicazione, ma è possibile impostare la scadenza delle voci della cache dopo un periodo di tempo.

Altri suggerimenti

Ho eseguito alcuni test e sembra che l'oggetto dell'applicazione risieda nel pool di app. (Il riciclaggio del pool di applicazioni ha cancellato i dati nell'oggetto application.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top