Теперь вы можете сопоставить обработчик с расширением файла, как показано далее:

<httpHandlers>
  <add verb="*" path="source.simple"
    type="HttpExtensions.SourceHandler,HttpExtensions"/>
</httpHandlers>

Чтобы протестировать этот обработчик, вы можете использовать URL-адрес в следующем формате:

http://localhost:[port]/Chapter05/source.simple?file=HolmesQuote.aspx.cs

Обработчик HTTP покажет исходный код для файла .cs (рис. 5.14).

Рис. 5.14. Использование более сложного обработчика HTTP

Основываясь на этом примере, вы, возможно, можете придумать разнообразные способы применения обработчиков HTTP. Например, вы можете визуализировать специальное изображение, выполнить специальный запрос к базе данных или вернуть некоторые двоичные данные. Эти примеры расширяют архитектуру ASP.NET, не используя при этом модель Web-страницы. В результате получается усеченный, но более эффективный компонент.

Вы можете также создавать обработчики HTTP, которые будут работать в асинхронном режиме. Это означает, что для выполнения своей работы они создают новый поток, а не используют один из потоков ASP.NET. Это позволяет увеличить масштабируемость в тех ситуациях, когда вам нужно выполнить задачу, которая требует гораздо больше времени, но не потребляет много ресурсов центрального процессора (ЦП). Классическим примером является ожидание чтения чересчур медленного сетевого ресурса. В ASP.NET одновременно выполняться может только фиксированное количество рабочих потоков (обычно 25), поэтому по достижении этого предела дополнительные ресурсы будут поставлены в очередь, даже если компьютер будет располагать свободным временем ЦП.

предыдущая    следующая страница   оглавление

248

Hosted by uCoz