Как лучше всего переносить огромные двоичные файлы с помощью ASP.NET? - PullRequest
5 голосов
/ 08 октября 2010

Рассмотрим страницу ASP.NET с этим кодом:

while (read)
{
   Response.OutputStream.Write(buffer, 0, buffer.Length);
   Response.Flush();
}

Приложение должно быть высоко настроено на производительность и обрабатывать тысячи при одновременных запросах, а основная цель - передача большого двоичного файла клиентам с высокой скоростьюсоединения.Я могу сделать работу с ASP.NET page, с HTTP Handler, IHttpAsyncHandler, ISAPI filter и ...

Вопрос в том, что является лучшим выбором для этой цели?

1 Ответ

2 голосов
/ 08 октября 2010

Если страница может быть связана с вводом / выводом, я бы пошел по асинхронной дороге. Но вы также должны использовать асинхронные методы чтения (если они доступны) для вашего Stream объекта.

Для получения дополнительной информации см .:

Конструктор FileStream - с асинхронным примером

Чтобы ответить на ваш комментарий о получении этих данных через сокет, вы также обнаружите, что большинство классов пространства имен System.Net.Sockets поддерживают асинхронное поведение.

...