Cha*_*ran 5 c# wcf stream large-files
如何在C#中使用WCF从客户端向服务器发送大文件?在配置代码下面.
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="HttpStreaming_IStreamingSample"
maxReceivedMessageSize="67108864"
transferMode="Streamed">
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint
address="http://localhost:4127/StreamingSample.svc"
binding="basicHttpBinding"
bindingConfiguration="HttpStreaming_IStreamingSample"
contract="StreamingSample.IStreamingSample"
name="HttpStreaming_IStreamingSample" />
</client>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
正如Dzmitry已经指出的那样,你需要检查流媒体.
为了能够将大型文件作为流发送到您的服务,您需要:
Stream作为其输入参数的服务方法transferMode=StreamedRequest首先,您需要在服务合同中使用一种方法:
[ServiceContract]
interface IYourFileService
{
[OperationContract]
void UploadFile(Stream file)
}
Run Code Online (Sandbox Code Playgroud)
然后你需要一个绑定配置:
<bindings>
<basicHttpBinding>
<binding name="FileUploadConfig"
transferMode="StreamedRequest" />
</basicHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud)
以及使用该绑定配置的服务上的服务端点:
<services>
<service name="FileUploadService">
<endpoint name="UploadEndpoint"
address="......."
binding="basicHttpBinding"
bindingConfiguration="FileUploadConfig"
contract="IYourFileService" />
</service>
</services>
Run Code Online (Sandbox Code Playgroud)
然后,在您的客户端中,您需要打开例如文件流并将其发送到服务方法而不关闭它.
希望有所帮助!
渣
| 归档时间: |
|
| 查看次数: |
14675 次 |
| 最近记录: |