0

我需要通過網絡訪問一個非常大的文件的隨機部分。 (SMB協議)FileStream.Seek()是否通過線傳輸數據?

  • 不FileStream.Seek()實際上讀取數據(複製下來的過程中,整個文件)做了fs.Seek(時)?

  • 有什麼我可以做,以減少或緩衝這個IO?

我的意圖是輪詢變化的大文件的末尾,如果它們存在:在.NET書籤(固定位置)前朗讀。

+0

你找到答案了嗎?我很想聽到答案。我的猜測是,這將是系統的依賴。 SMB基本上提供'seek'操作,但它取決於.NET和OS是否會使用它。在Windows上,你可能會得到正確的「seek」行爲。 – 2017-07-29 21:58:03

回答

0

不會。它只會在流數據類型的本地數據上運行。 FileStream在本地「緩存」並不意味着您正在對某些遠程文件系統上的數據執行.seek(),而是將其作爲流下載到本地計算機上。有關FileStream over network的更多信息,請參閱此鏈接(http://technet.microsoft.com/en-us/library/bb933993(v=sql.105).aspx)。

+0

這是否適用於常規.NET編程,而不是特定於SQL集成? (命令行應用程序) – LamonteCristo 2013-02-28 01:47:43