Я никогда не понимал это свойство IHttpHandler. Это свойство, которое вы должны установить при реализации интерфейса. Я предположил, что установить его в true будет лучше для производительности, но я не уверен, какие отрицательные побочные эффекты могут быть. Должен ли я возвращать true или false?
Должен ли я установить IsReusable в True в моих HttpHandlers?
Ответ 1
Он используется, чтобы указать, будет ли один экземпляр IHttpHandler использоваться для обработки нескольких одновременных запросов. Поэтому, если вы установите его на true
, это улучшит производительность, но вы должны убедиться, что ваш код является потокобезопасным, поскольку метод ProcessRequest
может быть вызван из нескольких потоков одновременно.
Ответ 2
Если ваша реализация IHttpHandler
содержит состояние (возможно, настроена в конструкторе и позже используется в ProcessRequest
), иногда бывает полезно установить IsReusable
в false.
Ответ 3
IsReusable хранит обработчик в памяти и способен обрабатывать несколько запросов. Когда установлено значение false, он должен создать новый экземпляр обработчика для каждого входящего запроса.
У меня были некоторые проблемы с этим свойством: