Pregunta

Necesito cambiar una propiedad estática en un objeto en nuestra aplicación web. La propiedad tiene un valor predeterminado que está codificado en el objeto. Si cambio la propiedad estática en mi Application_Start, la barra de cambios cambia:

A) Para siempre (bueno, hasta que la aplicación sea reciclada)

B) Hasta que el objeto esté en GC, se vuelve a inicializar con el siguiente elemento de acceso

C) Depende

Tenga en cuenta que la propiedad que estaría configurando es solo una cadena

¿Fue útil?

Solución

El alcance de una variable estática es su dominio de aplicación. Por lo tanto, no, no se recolectará la basura, pero si el dominio de aplicación se recicla (lo que puede suceder en una cantidad razonable en ASP.NET), entonces obtendrá un " nuevo " variable estática, efectivamente.

Otros consejos

En mi experiencia con nuestras aplicaciones web aquí, la respuesta es A. Por lo que sé, una clase estática nunca será controlada, perdurará durante la vida del proceso (en este caso, el trabajador de ASP.NET proceso)

Ir por A) Variable de instancia de aplicación

Para el almacenamiento de contexto, consulte httpContext.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top