재사용 가능한 HTTPHandlers에 문제가 있습니다. IsReusable
속성이 어떻게 작동하는지 확인하고 싶습니다. 재사용WebHandler를 사용하여 HTTPHandler 및 IsReusable
:
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을 모든 반환하면서 시각. 그러나 Handler를 WebHandlers (* .ashx)로 사용할 때마다 매번 0을 반환합니다 (정확히 똑같은 코드). WebHandlers를 사용할 때 IsReusable
속성이 무시된다는 것을 의미합니까?