Нормальная точка входа для обработчика - это метод ProcessRequest. Однако у вас может быть код в конструкторе класса, который объединяет некоторые значения экземпляров, которые дорого строить.
Если вы указываете, что Reusable является истинным, приложение может кэшировать экземпляр и повторно использовать его в другом запросе, просто вызывая его метод ProcessRequest снова и снова, без необходимости его реконструировать каждый раз.
Приложение будет создавать экземпляры как многие из этих обработчиков, так как они должны обрабатывать текущую нагрузку.
Недостатком является то, что если количество необходимых экземпляров больше, чем присутствующих в настоящее время экземпляров, они вызывают больший объем памяти. И наоборот, они также могут уменьшить использование видимой памяти, поскольку их значение экземпляра выживет GC-циклы и не нужно часто перераспределять.
Еще одно предостережение - вы должны быть уверены, что в конце выполнения ProcessRequest состояние объекта будет таким, каким вы хотели бы для другого запроса на повторное использование объекта.
[Использование недвижимого имущества IHttpHandler.IsReusable в реальном мире] (http://stackoverflow.com/questions/10806214/ihttphandler-isreusable-property-truly-usages) –