2014-09-18 98 views
0

我是WPF新手,對C#線程編程沒有經驗。我分配了一個帶有多線程的C#WPF應用程序。該應用程序的要求是將本地大文件上載到 Windows平臺上運行的遠程服務器上的根目錄文件夾(名爲「ABC」),該文件夾位於根磁盤驅動程序(例如C:\ ABC)的正下方。我不知道要走的路線。請指教。謝謝。將文件上傳到遠程服務器

遵循即將細節要求:

  1. 因爲每個上傳的文件大小大,需要有一個單獨的線程來運行上傳文件功能。 我打算使用async/await和Task對象進行線程編程。任何想法?

  2. 在WPF中,我不知道使用哪個WPF控件來上傳函數。請幫忙。

  3. 對於目標文件夾「ABC」,我是否需要明確設置其訪問權限?

  4. 我應該使用async/await和Task或BackgroundWorker類?

更新:

WPF應用程序不WCF應用程序。對不起,我的錯字。

+0

這是coveri很多!如果你把它分成三個單獨的問題,你可能會更好(並得到更詳細的答案)。 – Belogix 2014-09-18 16:29:58

+0

你有一些細節,我會建議你是一個'新手',你說..做一個谷歌搜索C#和asych await ..或C#和任務與WCF也我建議編寫代碼最初作爲一個'控制檯'應用程序獲取功能工作,然後將其移植到您的目標框架,並從那裏建立。 – MethodMan 2014-09-18 16:32:27

+0

以下文章似乎提供了目標解決方案的概述:http://www.codeproject.com/Articles/166763/WCF-Streaming-Upload-Download-Files-Over-HTTP – Seymour 2014-09-18 17:06:53

回答

1

要轉移使用WCF服務大文件在HTTP,您可以使用以下類型的綁定:

  • wsHttpBinding
  • basicHttpBinding

wsHttpBinding,我們可以設置TransferMode屬性作爲Buffered,但在大文件中使用此方法存在缺點,因爲它需要將整個文件放在m在上傳/下載之前的emory,Web客戶端和WCF服務主機都需要一個很大的緩衝區。但是,這種方法對於安全地傳輸小文件非常有用。

basicHTTPBinding我們可以使用TransferMode屬性作爲Streamed,以便文件可以以塊的形式傳輸。

欲瞭解更多信息,請按照此文章: WCF Streaming: Upload/Download Files Over HTTP

和超過TCP/IP傳送文件下面articls閱讀:

WCF TCP-based File Server

Sending Files using TCP

Large Message Transfer with WCF-Adapters Part 1

+0

謝謝您的回覆。我對原文發表了一個錯誤。該應用程序是C#WPF而不是WCF。 – 2014-09-18 17:55:51

相關問題