簡體   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