繁体   English   中英

C#WCF服务上传文件,实现IHttpHandler,Stream文件

[英]C# WCF Service to upload files, implementing IHttpHandler, Stream files

我正在寻找一种将一些文件上传到服务器的方法,并且知道基本的byte []可以解决问题。 因此,我实现了一个基本的上载方法,该方法需要一个byte []并使用流将该byte []附加到文件中,直到发送完所有字节为止。 但是,这有两个问题。 首先,它非常慢,握手过程需要太多时间。 其次,对于每个较大的文件,每次调用发送大约1024字节的byte []都需要很长时间。 我问一个程序员会有什么更好的方法,他回答说:“使用Ihttphandler并创建一个流”。 这对我来说没有多大意义。

任何人都可以向我展示可以或指向正确的方向来建立与服务器的连接,该连接不需要为每个可以将大文件或小文件上传到服务器的客户端调用握手。 我知道这个问题没有代码,这是因为我不知道从哪里开始创建流式上传形式。 可接受的答案甚至是指向我创建自己的代码的某些方向。 我已经读过这篇文章,并且由于没有代码示例而感到非常困惑。

现在,我的设置是我有一个wcf服务,该服务正在控制台应用程序中托管。 然后,另一个控制台应用程序调用此wcf服务上载方法。

您可以在ServiceContract中使用Stream类而不是byte []。

您应该将绑定的配置设置为transferMode =“ Streaming”。

MSDN上有许多示例。 https://msdn.microsoft.com/zh-CN/library/ms733742(v=vs.110).aspx

<system.serviceModel>
 …
<bindings>
  <basicHttpBinding>
    <binding name="ExampleBinding" transferMode="Streaming"/>
  </basicHttpBinding>
</bindings>
 …

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM