Помните, что когда ваша .aspx-страница компилируется, она превращается в класс, производный от System.Web.UI.Page
, прямо или косвенно (путем наследования от класса «code-behind», который, в свою очередь, прямо или косвенно наследуется от Page
.
Page
реализует IHttpHandler
, поэтому вы никогда не используете IHttpHandler
.
И быстрое сканирование списка участников Page
дает хороший ответ на этот вопрос. Многое происходит, и многое предлагается для создания классов (то есть для файлов .aspx и для кода). И это еще до того, как мы рассмотрим способ анализа файлов .aspx, чтобы сделать написание кода с большим количеством «шаблонного» кода в них очень простым.
Вы потеряете все это, если напишите свой собственный обработчик. Потеря этого даст вам повышение производительности, но не так много, как вы думаете, многое не будет стоить, если его не использовать. В самом деле, если вы потеряете то, что вам нужно, ваши собственные способы вернуть его могут оказаться менее эффективными.
Если естественным способом написания рассматриваемого обработчика было бы то, чтобы все происходило прямо или косвенно (вызов метода) из одного обработчика событий в вашем коде и с пустым .aspx, тогда может быть понятнее вместо этого напишите это как обработчик, в этом случае сделайте. В противном случае вы хотите придерживаться файла .aspx.