1
我有一個自定義的HttpHandler調用Web服務來獲取文件。在測試中,我調用生產Web服務,HttpHandler正確返回文件。當我在服務器上的生產環境中測試它時,它也可以工作。但是,如果我從遠程客戶端(不在服務器上)調用HttpHandler,則文件名和大小設置正確,但下載的文件字節數爲零。有任何想法嗎?HttpHandler返回零長度字節[]
我有一個自定義的HttpHandler調用Web服務來獲取文件。在測試中,我調用生產Web服務,HttpHandler正確返回文件。當我在服務器上的生產環境中測試它時,它也可以工作。但是,如果我從遠程客戶端(不在服務器上)調用HttpHandler,則文件名和大小設置正確,但下載的文件字節數爲零。有任何想法嗎?HttpHandler返回零長度字節[]
所以這裏的交易。我創建了一個multipart range handler(您需要實施RFC以將內容流式傳輸到iPhone或Adobe Reader)。該規範假定當客戶端請求一個字節範圍而不是整個數組時,啓用處理文件。當我的處理程序出現問題時,客戶需要整個BLOB:
if (context.Request.Headers[HEADER_RANGE] != null)
{
...
}
else
{
context.Response.ContentType = contentItem.MimeType;
addHeader(context.Response, HEADER_CONTENT_DISPOSITION, "attachment; filename=\"" + contentItem.Filename + "\"");
addHeader(context.Response, HEADER_CONTENT_LENGTH, contentItem.FileBytes.Length.ToString());
context.Response.OutputStream.Write(contentItem.FileBytes, 0, contentItem.FileBytes.Length);
}
注意什麼缺少?
我忘了,包括:
context.Response.Flush();
添加該行代碼後,就開始在生產環境中工作。然而,我發現這很奇怪,這是在服務器上而不是在任何客戶端上。任何人都可以闡明爲什麼會這樣?
發佈代碼,並檢查Wireshark發生了什麼 – Andomar 2009-05-23 19:02:26