如何使用WCF从客户端向服务器发送大文件?

如何在C#中使用WCF从客户端向服务器发送大文件? 在配置代码下面。

           

正如Dzmitry已经指出的那样,你需要检查流媒体。

为了能够将大型文件作为流发送到您的服务,您需要:

  • 创建一个接受Stream作为其输入参数的服务方法
  • 创建使用transferMode=StreamedRequest的绑定配置(在服务器和客户端上)
  • 在您的客户端中创建一个流并将其发送到服务方法

首先,您需要在服务合同中使用一种方法:

 [ServiceContract] interface IYourFileService { [OperationContract] void UploadFile(Stream file) } 

然后你需要一个绑定配置:

      

和使用该绑定配置的服务上的服务端点:

      

然后,在您的客户端中,您需要打开例如文件流并将其发送到服务方法而不关闭它。

希望有所帮助!

您可以查看WCF流媒体function。

除了增加readerQuota设置(如上所述),我还必须在httpRuntime属性中增加maxRequestLength。