0

네트워크를 통해 매우 큰 파일의 무작위 부분에 액세스해야합니다. (SMB 프로토콜)FileStream.Seek()은 데이터를 전선으로 전송합니까?

  • 합니까 FileStream.Seek() 실제로 데이터를 읽고 (그 과정에서 전체 파일을 복사)를 fs.Seek를 (하고)?

  • 이 IO를 줄이거 나 버퍼링 할 수있는 방법이 있습니까?

내 의도는 큰 파일의 끝을 폴링하여 존재하는 경우 .NET의 책갈피 (고정 위치)에서 앞으로 읽는 것입니다.

+0

답을 찾았습니까? 나는 그 대답을 듣고 싶어합니다. 제 추측은 시스템의 의존성이 될 것입니다. 기본적으로 SMB는 '검색'작업을 제공하지만 .NET 및 OS가 활용할지 여부에 따라 다릅니다. Windows에서 올바른 '찾기'동작을 얻을 수 있습니다. –

답변

0

아니요. 스트림 데이터 유형의 로컬 데이터에서만 작동합니다. FileStream이 로컬에 "캐싱"되었다고해서 일부 원격 파일 시스템의 데이터에 .seek()을 수행하는 것이 아니라 로컬 시스템에 스트림으로 다운로드한다는 의미입니다. 네트워크를 통한 FileStream에 대한 자세한 내용은이 링크 (http://technet.microsoft.com/en-us/library/bb933993(v=sql.105).aspx)를 참조하십시오.

+0

이것은 SQL 통합과 관련이없는 일반 .NET 프로그래밍에 적용됩니까? (명령 줄 응용 프로그램) – LamonteCristo