我需要通過網絡訪問一個非常大的文件的隨機部分。 (SMB協議)FileStream.Seek()是否通過線傳輸數據?
不FileStream.Seek()實際上讀取數據(複製下來的過程中,整個文件)做了fs.Seek(時)?
有什麼我可以做,以減少或緩衝這個IO?
我的意圖是輪詢變化的大文件的末尾,如果它們存在:在.NET書籤(固定位置)前朗讀。
我需要通過網絡訪問一個非常大的文件的隨機部分。 (SMB協議)FileStream.Seek()是否通過線傳輸數據?
不FileStream.Seek()實際上讀取數據(複製下來的過程中,整個文件)做了fs.Seek(時)?
有什麼我可以做,以減少或緩衝這個IO?
我的意圖是輪詢變化的大文件的末尾,如果它們存在:在.NET書籤(固定位置)前朗讀。
不會。它只會在流數據類型的本地數據上運行。 FileStream在本地「緩存」並不意味着您正在對某些遠程文件系統上的數據執行.seek()
,而是將其作爲流下載到本地計算機上。有關FileStream over network的更多信息,請參閱此鏈接(http://technet.microsoft.com/en-us/library/bb933993(v=sql.105).aspx)。
這是否適用於常規.NET編程,而不是特定於SQL集成? (命令行應用程序) – LamonteCristo 2013-02-28 01:47:43
你找到答案了嗎?我很想聽到答案。我的猜測是,這將是系統的依賴。 SMB基本上提供'seek'操作,但它取決於.NET和OS是否會使用它。在Windows上,你可能會得到正確的「seek」行爲。 – 2017-07-29 21:58:03