Pregunta

Estoy intentando acceder al estado de la aplicación de una clase de utilidad en la aplicación web, pero no estoy seguro de la mejor manera de hacerlo. Busqué un miembro estático, pero no hay nada de uso (que estaba pensando en algún lugar a lo largo de las líneas de HttpContext.Current).

La mejor solución que encontré hasta ahora es tener un miembro de la clase de utilidad que se ha inicializado en el caso de los Application_Start Global.asax.cs (I puede obtener de this.Application allí), pero habría algún riesgo de "algo" pasa a la referencia (no me importa acerca de la aplicación que se reinicia, ya que sólo estoy buscando una funcionalidad de caché)?

¿Fue útil?

Solución

Creo que lo tengo!

HttpContext.Current.Application

Otros consejos

No hay manera de estado de acceso de aplicaciones desde fuera del HTTTPContext por diseño. Usando Application_Start es la forma preferida para inicializar los valores "globales". También puede utilizar la clase Cache para el mismo propósito. expiración ofertas Cache miembro de características que pueden ser útiles para los datos que los cambios debido a eventos tales como un valor de archivos o base de datos cambiando.

Trate

System.Web.HttpRuntime

Usted simplemente puede crear un miembro de la clase estática:

public class MyGlobalCache
{
    public static string SomeValue{get;set;}
}

Esto se almacena a nivel de aplicación, lo que significa que se obtiene la misma funcionalidad del estado de la aplicación. El miembro estático estará disponible en todas las capas (páginas web y no páginas web).

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