Domanda

Devo modificare una proprietà statica su un oggetto nella nostra applicazione web. La proprietà ha un valore predefinito codificato nell'oggetto. Se cambio la proprietà statica nel mio Application_Start, cambia stick:

A) Per sempre (beh, fino a quando l'app non verrà riciclata)

B) Fino a quando l'oggetto non viene GC, quindi reinizializzato dal successivo accessor

C) Dipende

Nota che la proprietà che imposterò è solo una stringa

È stato utile?

Soluzione

L'ambito di una variabile statica è il suo AppDomain. Quindi no, non verrà raccolta spazzatura - ma se AppDomain viene riciclato (cosa che può accadere in una buona quantità in ASP.NET), si otterrà un "nuovo" nuovo variabile statica, efficacemente.

Altri suggerimenti

Nella mia esperienza con le nostre app Web qui, la risposta è A. Per quanto ne so, una classe statica non verrà mai GCed, sopravvive per tutta la durata del processo (in questo caso, il lavoratore ASP.NET processo)

Vai a A) Variabile istanza app

Per l'archiviazione del contesto, consultare httpContext.

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