2010-01-19 58 views
1

我有一個提供MP3內容的ASP.NET應用程序,但是這個內容是在請求期間生成的,並且可以延遲幾分鐘發送響應的第一個字節。防止ASP.NET GET請求超時?

客戶端是一個podcatcher(我不知道哪個),並且我看到的最低超時是20秒。也就是說,假設沒有反應,這些客戶相當快地放棄(合理地)。

我該如何防止這些客戶放棄?我怎樣才能讓他們知道即將到來的迴應?

+0

我想過在生成「真實」內容的同時提供飼料MP3內容嗎? 「這個MP3帶給你......」廢話,或者別的什麼。我會慢慢提供服務,直到「真實」內容準備好爲止?思考?我不知道在這種情況下合併兩個MP3的第一件事。 – lance 2010-01-19 05:16:30

回答

3

如果您以二進制格式提供內容,則應該能夠在將二進制內容組織起來之前立即格式化標題並將其推出。如果您使用的是處理程序,則可以通過避免大量IIS開銷來加速進程,並且同時您可以獲取內容頭文件(未完成但已啓動)並使用Response.Flush()讓他們出去。

+0

我從來沒有想到發送頭文件會減少超時風險。這似乎很合理。現在要做更多的閱讀...... – lance 2010-01-19 05:20:03

+0

根據接收平臺(我從來沒有處理podcatcher),你可能需要繼續刷新二進制數據,以保持目標客戶端「感興趣」。 – 2010-01-19 12:01:51

+0

我的測試表明,發送頭文件並不能防止超時。正如你所說,這可能會改變「取決於接待平臺」。 – lance 2010-01-25 19:22:27