我即将使用 WCF 实现 FileService。它应该能够通过提供文件内容本身和文件名来上传文件。当前的 ServiceContract 如下所示
[ServiceContract]
public interface IFileService
{
[OperationContract]
[FaultContract(typeof(FaultException))]
byte[] LoadFile(string relativeFileNamePath);
[OperationContract]
[FaultContract(typeof(FaultException))]
void SaveFile(byte[] content, string relativeFileNamePath);
}
目前它工作正常,但我希望能够使用这个 Fileservice 减少我的应用程序的网络负载。一旦用户打开我的应用程序的特定部分,我就需要提供许多文件,但是一旦用户进一步浏览应用程序,我就可以取消其中的一些文件。由于我的许多文件都在 50 到 300 MB 之间,因此传输文件需要几秒钟的时间(应用程序可能在非常慢的网络上运行,可能需要一分钟)。
澄清和概述与所有其他 WCF 问题的区别:具体问题是在客户端 <-> 服务器之间提供数据是瓶颈,而不是服务本身的性能。将接口更改为流式 WCF 服务是否合理?