En su ejemplo, no está administrando ningún estado. Cualquiera puede llamar al ProcessRequest
tantas veces como lo deseen en la misma instancia y obtendrán un nuevo DateTime.
Pero lo que si usted hizo esto:
private DateTime _dateTime = DateTime.Now;
public void ProcessRequest(HttpContext context)
{
context.Response.Write(_dateTime);
}
Ahora que obtendrá la misma respuesta cada vez después de la instancia manejador se instancia. A menos que ASP.NET genere uno nuevo cada vez.
IsReusable
puede indicar si su clase de controlador maneja cualquier estado que esté bien para compartir entre solicitudes separadas. Si administra el estado que no está bien para compartir, entonces no es probable que sea idempotente externamente, o posiblemente no sea seguro para subprocesos. Llamar al ProcessRequest
con las mismas condiciones de entrada puede no dar como resultado el mismo resultado, porque su implementación específica del manejador también tiene algunas variables de nivel de instancia que no están bien para compartir cuando determina el resultado. (Y de hecho, técnicamente su implementación actual es un ejemplo de eso). En estos casos, la instancia probablemente no sea "reutilizable", y ASP.NET necesita generar una nueva instancia cada vez para garantizar la previsibilidad.
Así que para los casos en que no se maneja el estado, o si tiene manejadores muy simples donde el estado es "obvio" (como el ejemplo que tenemos aquí), IsResuable
puede parecer inútil. Pero si tiene un manejador muy complejo, posiblemente uno que conserve un estado que es costoso de inicializar pero que está bien para compartir, querrá indicarle a ASP.NET que puede volver a utilizarlo para el rendimiento.
nunca pude encontrar documentación de MSDN para éste:/ – IrishChieftain
@IrishChieftain también por esta cuestión que ive pidió (y ni conseguir ningún bien asnwer) -lousy MSDN documenetation ... http://stackoverflow.com/questions/8298843/registerclientscriptblock-parameters-usages-in-real-scenarios –
Eche un vistazo a la respuesta de Branislav aquí: http://stackoverflow.com/questions/1507572/streaming-databased-images-using-httphandler – IrishChieftain