Tengo el problema con HTTPHandlers reutilizables. Quería comprobar cómo funciona la propiedad IsReusable
. Así que he creado dos manipuladores:HTTPHandler e IsReusable con WebHandler
reutilizable:
public class ReusableHandler : IHttpHandler
{
public bool IsReusable
{
get { return true; }
}
private int _counter;
public ReusableHandler()
{
_counter = 0;
}
public void ProcessRequest(HttpContext context)
{
context.Response.Write("Reusable: " + _counter++);
}
}
Y no reutilizables:
public class NonReusableHandler : IHttpHandler
{
public bool IsReusable
{
get { return false; }
}
private int _counter;
public NonReusableHandler()
{
_counter = 0;
}
public void ProcessRequest(HttpContext context)
{
context.Response.Write("NonReusable: " + _counter++);
}
}
Ambos trabajan como se esperaba: reutilizable cada tiempo vuelve valor incrementado, mientras que no reutilizable cada devuelve 0 hora. Pero cuando uso mis manejadores como WebHandlers (* .ashx) ambos devuelven 0 cada vez (el código es exactamente el mismo). ¿Significa que cuando uso WebHandlers se ignora la propiedad IsReusable
?