У меня проблема с многоразовыми HTTPHandlers. Я хотел проверить, как работает свойство IsReusable
. Таким образом, я создал два обработчика:HTTPHandler и IsReusable с WebHandler
многоразовый:
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++);
}
}
И не многоразовые:
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++);
}
}
Они оба работают, как и ожидалось: многоразовый каждый раз возвращает значение увеличивается, в то время как NonReusable возвращает 0 каждый время. Но когда я использую мои обработчики как WebHandlers (* .ashx), они оба возвращают 0 каждый раз (код точно такой же). Означает ли это, что когда я использую WebHandlers, свойство IsReusable
игнорируется?