2011-10-21 36 views
1

我們有一個web服務(所謂的「附件服務」),用戶可以在其中發送文件及其請求。用戶可以上傳最多256 MB的文件。我們有一個解析請求並保存文件的工作解決方案,但速度很慢。有時在發送大附件時 - 服務器返回超時。解析「帶附件的服務」中的MIME附件

我們按字節讀取請求並查找邊界標記(--b5a8d09eeeb161be29def84633d6f6fc)。如果找到標籤,則解析標題並讀取附件文件的base64編碼數據。還有一個換行符的檢查。

在我看來,這段代碼有很多循環,它可以做得更好,並提高性能。

是否有一些很好的例子,這是如何做到的,也許解析一個字符串(不是字節數組)是更快的解決方案?或者也許還有其他方法?你有什麼建議去改善表現?

問候, evilone

回答

0

好吧下載它,找到自己的答案。使用StreamreaderReadLine()函數比迭代byte[]數組中的單個字節快大約40%。如果像Pareen建議的那樣將壓縮添加到請求中,那麼它可以更快。

-1

可能是你嘗試使用LZMA壓縮壓縮你的附件。

U可以從http://www.7-zip.org/sdk.html

+0

我該怎麼做?客戶用文件發送請求,然後我壓縮這個流或者你的意思是什麼? – evilone

+0

我認爲你不正確地理解我們的問題。如果壓縮是一個選項,那麼它可以在發送請求之前在客戶端完成。在這種情況下,這不是一種選擇。 – evilone