我必须编写一个WCF服务来将大文件(500MB - 3GB)传输到UWP客户端。我已将服务配置为流服务,当我在控制台应用程序上生成客户端代理时,该服务非常正常。我的下载方法如下:
public Stream GetFile(GetFileRequest request)
当我在uwp应用程序中生成客户端代理时,GetFile方法的响应变为byte [],看起来下载过程不是流式传输而是传输为一个byte []。
这是该服务的web.config:
<bindings>
<basicHttpBinding>
<binding name="streamedBinding" transferMode="Streamed" closeTimeout="10:00:00" />
</basicHttpBinding>
</bindings>
即使在拨打电话之前在客户端手动设置绑定
var binding = new System.ServiceModel.BasicHttpBinding()
{
CloseTimeout = TimeSpan.FromMinutes(10),
OpenTimeout = TimeSpan.FromMinutes(10),
TransferMode = System.ServiceModel.TransferMode.StreamedResponse
};
它不会改变任何事情。我还在等待客户电话
await client.GetFileAsync(fileRequest)
我错过了什么?