我需要一个 WCF 服务来由用户上传大文件。
以下哪一项提供了更优化的性能
[OperationContract]
public void UploadFile(Stream inputsreaam);
or
[OperationContract]
public void UploadFile(byte[] buffer);
欢迎任何其他建议
如果您想上传非常大的文件,请使用 Stream 。如果您将 2 Gb 文件作为 byte[] 传输,该文件将被加载到服务器上的内存中,并且您只能将其保存在某个地方。使用 Stream,您可以从客户端流中读取数据并写入服务器上的文件或数据库流,而内存中实际上只有小块数据。回到性能:对于非常大的文件和多个客户端,byte[] 可能会因内存不足而冻结您的服务器。
您可能还会发现这个tutorial http://stefanoricciardi.com/2009/08/28/file-transfer-with-wcp/有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)