네트워크를 통해 매우 큰 파일의 무작위 부분에 액세스해야합니다. (SMB 프로토콜)FileStream.Seek()은 데이터를 전선으로 전송합니까?
합니까 FileStream.Seek() 실제로 데이터를 읽고 (그 과정에서 전체 파일을 복사)를 fs.Seek를 (하고)?
이 IO를 줄이거 나 버퍼링 할 수있는 방법이 있습니까?
내 의도는 큰 파일의 끝을 폴링하여 존재하는 경우 .NET의 책갈피 (고정 위치)에서 앞으로 읽는 것입니다.
네트워크를 통해 매우 큰 파일의 무작위 부분에 액세스해야합니다. (SMB 프로토콜)FileStream.Seek()은 데이터를 전선으로 전송합니까?
합니까 FileStream.Seek() 실제로 데이터를 읽고 (그 과정에서 전체 파일을 복사)를 fs.Seek를 (하고)?
이 IO를 줄이거 나 버퍼링 할 수있는 방법이 있습니까?
내 의도는 큰 파일의 끝을 폴링하여 존재하는 경우 .NET의 책갈피 (고정 위치)에서 앞으로 읽는 것입니다.
아니요. 스트림 데이터 유형의 로컬 데이터에서만 작동합니다. FileStream이 로컬에 "캐싱"되었다고해서 일부 원격 파일 시스템의 데이터에 .seek()
을 수행하는 것이 아니라 로컬 시스템에 스트림으로 다운로드한다는 의미입니다. 네트워크를 통한 FileStream에 대한 자세한 내용은이 링크 (http://technet.microsoft.com/en-us/library/bb933993(v=sql.105).aspx)를 참조하십시오.
이것은 SQL 통합과 관련이없는 일반 .NET 프로그래밍에 적용됩니까? (명령 줄 응용 프로그램) – LamonteCristo
답을 찾았습니까? 나는 그 대답을 듣고 싶어합니다. 제 추측은 시스템의 의존성이 될 것입니다. 기본적으로 SMB는 '검색'작업을 제공하지만 .NET 및 OS가 활용할지 여부에 따라 다릅니다. Windows에서 올바른 '찾기'동작을 얻을 수 있습니다. –