Лучший способ потока файлов в ASP.NET | VPROS.ru

Лучший способ потока файлов в ASP.NET

Что это лучший способ, чтобы поток файлов через ASP.NET?

Похоже, существуют различные методы для этого, и я в настоящее время использование ответ.TransmitFile() метод внутри обработчика http-данных, который отправляет файл в браузере напрямую. Это используется для различных вещей, включая отправку видео в FLV из за антивируса Symantec, с помощью встроенной Flash-видео плеер.

Однако, это не похоже на надежный способ. В частности, есть странная проблема с Интернет Эксплорер (7), где браузер просто зависает после видео или два просматриваются. Кликнув на любую ссылку, и т. д. не имеют никакого эффекта, и единственный способ получить вещи работать снова на сайте закрыть браузер и снова открыть его.

Это также происходит в других браузерах, но гораздо реже. На основе некоторых базовых испытаний, я подозреваю, что это как-то связано с образом файлы в потоковом режиме… возможно, связь не была должным образом закрыта, или что-то вдоль тех линий.

После попытки несколько разные вещи, я обнаружил, что следующий метод работает для меня:

Response.WriteFile(path); Response.Flush(); Response.Close(); Response.End(); 

Это позволяет обойти проблемы, упомянутые выше, а просмотр видео больше не вызывает Internet Explorer, чтобы повесить.

Однако, мое понимание заключается в том, что ответ.Функция writefile() загружает файл в память, во-первых, а учитывая, что некоторые файлы в потоковом режиме потенциально могут быть довольно большими, это не кажется идеальным решением.

Мне интересно услышать, как другие разработчики потоковая передача больших файлов в ASP.NET и, в частности, потоковое FLV видео файлов.

One Reply to “Лучший способ потока файлов в ASP.NET”

  1. После попытки много различных комбинаций, в том числе код размещены в различных ответов, похоже, сидит ответ.Буфер = значение True перед вызовом TransmitFile сделал свое дело и веб-приложения теперь намного более отзывчивым в Интернет Эксплорер.

    В данном конкретном случае, расширение SWF также сопоставлены ASP.NET и мы используем пользовательский обработчик в нашей веб-приложение для чтения файлов с диска, а затем отправить их в браузер через ответ.TransmitFile(). Мы получили флэш-видео плеер для воспроизведения видео файлов, которые также СФБ, и я думаю, что все эти действия идут через обработчик без буферизации является то, что, возможно, причиняют странные вещи происходят в IE.

Comments are closed.