Ashx против ASPX для загрузки файла - PullRequest
5 голосов
/ 16 декабря 2010

В базовом сценарии, где у меня есть GridView с файлами для загрузки и кнопками ссылки для их загрузки, есть ли какая-либо выгода для создания собственного обработчика http для потоковой передачи этих файлов, а не просто для потоковой передачи из обработчика событий кнопка ссылки на скачивание?

Edit:

Поскольку некоторые из предложенных вариантов повторного использования кода предпочтительнее для обработчика, в данном конкретном случае это не проблема. Обработчик также быстрее, поскольку он избегает жизненного цикла страницы, однако это небольшое повышение производительности, вероятно, не стоит создавать обработчик в моей конкретной ситуации.

Единственное, что приходит на ум сейчас (если использовать тот же подход aspx-страницы), есть ли какие-то особые соображения в ситуации, когда GridView находится внутри UpdatePanel?

Ответы [ 3 ]

4 голосов
/ 16 декабря 2010

Планируете ли вы повторно использовать функциональность своей загрузки из более чем одного места в вашем приложении?Если вы хотите свободно связать свою загрузку с остальной частью вашего приложения, Generic Handler - это хороший способ, поскольку вы по сути создаете сервис.В противном случае, если вы планируете загружать только эту кнопку и только эту кнопку, вы можете оставить логику там.Помните, что есть такая вещь, которая делает ваше приложение более сложным, чем нужно.

3 голосов
/ 16 декабря 2010

Это действительно зависит от вас.ASHX не имеют того же жизненного цикла страницы, что и ASPX (без OnLoad и т. Д.), Обычно считаются более быстрыми из-за низких издержек и не имеют файла посторонней разметки, связанного с веб-формой.

Вы можете также рассмотреть возможность использования веб-службы (ASMX) в вашем приложении.

3 голосов
/ 16 декабря 2010

Я использую ASHX для этого, поскольку я думаю, что они занимают меньше места, и, поскольку мне вообще не нужен пользовательский интерфейс для потоковой передачи файла, они идеально подходят для меня.

...