HTTP-обработчики: когда использовать синхронные / асинхронные / общие обработчики (ashx)? - PullRequest
2 голосов
/ 16 ноября 2009

ASP.NET предлагает 4 типа обработчиков http - синхронные, асинхронные, универсальные синхронные (ashx) и универсальные асинхронные (ashx) обработчики.

Как вы выбираете тип обработчика http для работы?

1 Ответ

3 голосов
/ 16 ноября 2009

Нет жестких правил, но вот несколько рекомендаций для вас:

sync vs. async: используйте синхронизацию, когда у вас нет длительных задач. Используйте асинхронный, когда вы делаете. Например, если обработчик запрашивает базу данных или выполняет вызов веб-службы, он должен быть асинхронным.

generic против custom: используйте generic, если вам не важно расширение в URL (это будет * .ashx). Используйте custom, если расширение важно (возможно, для создания пользовательских изображений PNG). Полностью настраиваемые обработчики требуют дополнительного шага для их регистрации в web.config, но в остальном они практически идентичны универсальным обработчикам.

Кроме того, может быть полезно помнить, что класс Page на самом деле является просто HttpHandler, который обрабатывает файлы .aspx - и вы, конечно, также можете иметь страницы синхронизации и асинхронности с теми же рекомендациями, что и выше.

Если это интересно, я подробно опишу эту информацию в своей книге, включая примеры ( Сверхбыстрый ASP.NET ).

...