如何使用WCF从客户端向服务器发送大文件?
如何在C#中使用WCF从客户端向服务器发送大文件? 在配置代码下面。
正如Dzmitry已经指出的那样,你需要检查流媒体。
为了能够将大型文件作为流发送到您的服务,您需要:
- 创建一个接受
Stream
作为其输入参数的服务方法 - 创建使用
transferMode=StreamedRequest
的绑定配置(在服务器和客户端上) - 在您的客户端中创建一个流并将其发送到服务方法
首先,您需要在服务合同中使用一种方法:
[ServiceContract] interface IYourFileService { [OperationContract] void UploadFile(Stream file) }
然后你需要一个绑定配置:
和使用该绑定配置的服务上的服务端点:
然后,在您的客户端中,您需要打开例如文件流并将其发送到服务方法而不关闭它。
希望有所帮助!
渣
您可以查看WCF流媒体function。
除了增加readerQuota设置(如上所述),我还必须在httpRuntime属性中增加maxRequestLength。