我有一個項目,我有一個WCF服務,我基本上只要在某個目錄中刪除一個文件就要調用它。我已經看到了在Web上發佈的基本自定義傳輸通道邏輯,該邏輯處理文件傳輸。但是,還有一點是文件本身的內容。該文件將成爲逗號分隔的數據文件。對於文件中的每一行,我想要在服務上調用特定的方法。這是我遇到的問題。通過WCF自定義處理CSV文件
我明白,這部分將涉及一個自定義MessageEncoder。這是我的餐巾背面設計。編碼器將接收一個數據流(文件)。它會從文件中讀取一行,並從中創建一條消息(這一部分我仍然有點不知所措)。然後,流有更多數據要讀取的事實應該告訴文件傳輸通道從中讀取另一條消息。
我在正確的軌道上嗎?另一個問題是我的編碼器應該如何處理緩衝的呼叫。我得到一個ArraySegment的值,所以我能想到的唯一的事情就是修改傳入的數組(我不能操縱偏移量,它不會回到原來的調用者)。
想法?我知道這有點漫無目的。
是的,我的想法實際上是MessageEncoder會接受流,讀取足夠的信息來覆蓋一條消息(在這種情況下,一行),然後傳輸通道會注意到流沒有被完全讀取,所以重新調用編碼器以獲取另一條消息(重複直到完成)。 – Rich 2010-07-28 18:34:51
你也許可以做到這一點,但似乎有點複雜,比我需要:) – tomasr 2010-07-28 19:22:59