2010-01-19 2 views
1

У меня есть приложение ASP.NET, которое поддерживает MP3-контент, но этот контент генерируется во время запроса и может задержать отправку первого байта ответа на несколько минут.Предотвращение тайм-аута запроса ASPET GET?

Клиент - подкащик (я не знаю, какой), а самый низкий тайм-аут, который я видел, составляет 20 секунд. То есть, эти клиенты (достаточно разумно) сдаются относительно быстро, полагая, что ответа нет.

Как я могу заставить этих клиентов отказаться? Как я могу сообщить им, что ответ приходит?

+0

Я думал об обслуживании содержимого MP3 для кормления, пока генерируется «настоящий» контент? «Этот MP3 принес вам ...» вздор или что-то в этом роде. Я бы служил ему медленно, пока «настоящий» контент не был готов? Мысли? Я не знаю, в первую очередь, о слиянии двух MP3 в такой ситуации. – lance

ответ

3

Если вы обслуживаете содержимое в двоичном формате, вы должны иметь возможность форматировать заголовки и выталкивать их прямо перед тем, как вы создадите двоичный контент. Если вы используете обработчик, вы можете ускорить процесс, избегая большого количества накладных расходов IIS, и в то же время вы можете запустить начальные заголовки контента (не завершены, но запущены) и использовать Response.Flush() чтобы вытащить их.

+0

Мне никогда не приходило в голову, что отправка заголовков уменьшит риск тайм-аута. Это кажется таким разумным. Теперь, чтобы сделать больше чтения ... – lance

+0

В зависимости от платформы приема (я никогда не занимался podcatcher), возможно, вам придется продолжать промывать даже двоичные данные с шагом, чтобы «целевой» целевой клиент. –

+0

Мои тесты показали, что отправка заголовков не помешала таймауту. Как вы говорите, это может измениться «в зависимости от платформы приема». – lance

 Смежные вопросы

  • Нет связанных вопросов^_^