Ho il problema con HTTPHandlers riutilizzabili. Volevo verificare come funziona la proprietà IsReusable
. Così ho creato due gestori:HTTPHandler e IsReusable con WebHandler
riutilizzabile:
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++);
}
}
E non riutilizzabile:
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++);
}
}
Entrambi lavorano come previsto: riutilizzabile ogni rendimenti tempo valore incrementato, mentre non riutilizzabile restituisce 0 ogni tempo. Ma quando uso i miei handler come WebHandlers (* .ashx) entrambi restituiscono 0 ogni volta (codice esattamente uguale). Significa che quando utilizzo WebHandlers la proprietà IsReusable
viene ignorata?