“附件服务”中的MIME附件解析

时间:2011-10-21 05:02:07

标签: .net web-services soap file-upload

我们有一个webservice(所谓的“带附件的服务”),用户可以在其中发送带有请求的文件。用户最多可以上传256 MB的文件。我们有一个解决请求并保存文件的工作解决方案,但速度很慢。有时在发送大附件时 - 服务器返回超时。

我们按字节读取请求并查找边界标记(--b5a8d09eeeb161be29def84633d6f6fc)。如果找到标签,则解析标头并读取附件文件base64编码数据。还有一个换行字符的检查。

在我看来,这段代码中有很多循环,可以更好地完成并提高性能。

是否有一些很好的例子如何完成,也许解析字符串(不是字节数组)是更快的解决方案?或许还有其他方法?你有什么建议来改善表现?

此致 evilone

2 个答案:

答案 0 :(得分:0)

好的,我自己找到了答案。使用StreamreaderReadLine()函数比在byte[]数组中迭代单个字节快约40%。如果像Pareen建议的那样将压缩添加到请求中,那么它可以更快。

答案 1 :(得分:-1)

您可以尝试使用LZMA压缩来压缩附件。

您可以从http://www.7-zip.org/sdk.html

下载