我有一個可重複使用的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++);
}
}
他們預期這兩種工作方式:可重複使用的,每次遞增的回報價值,而不可再利用每返回0時間。但是當我使用我的處理程序作爲WebHandlers(* .ashx)時,它們每次都返回0(代碼完全相同)。這是否意味着當我使用WebHandlers IsReusable
屬性被忽略?