再利用可能な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++);
}
}
ではなく、再利用可能:だから私は2つのハンドラを作成しました
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++);
}
}
彼らは期待通りの仕事の両方:再使用不可は、すべて0を返しながら、再利用可能な各時間が戻るが、値をインクリメント時間。しかし、ハンドラをWebHandlers(* .ashx)として使用すると、毎回0を返します(コードはまったく同じです)。 WebHandlersを使用すると、IsReusable
プロパティは無視されますか?