我们有一个webservice(所谓的“带附件的服务”),用户可以在其中发送带有请求的文件。用户最多可以上传256 MB的文件。我们有一个解决请求并保存文件的工作解决方案,但速度很慢。有时在发送大附件时 - 服务器返回超时。
我们按字节读取请求并查找边界标记(--b5a8d09eeeb161be29def84633d6f6fc
)。如果找到标签,则解析标头并读取附件文件base64编码数据。还有一个换行字符的检查。
在我看来,这段代码中有很多循环,可以更好地完成并提高性能。
是否有一些很好的例子如何完成,也许解析字符串(不是字节数组)是更快的解决方案?或许还有其他方法?你有什么建议来改善表现?
此致 evilone
答案 0 :(得分:0)
好的,我自己找到了答案。使用Streamreader
和ReadLine()
函数比在byte[]
数组中迭代单个字节快约40%。如果像Pareen建议的那样将压缩添加到请求中,那么它可以更快。
答案 1 :(得分:-1)
您可以尝试使用LZMA压缩来压缩附件。
下载