2010-03-31 7 views
1

특정 디렉토리의 파일 목록을 가져 오기 위해 Linux 컴퓨터에 액세스해야하는 C# Windows 서비스가 있습니다. .NET 3.5SP1 메서드를 사용하면이 작업을 수행 할 수 있습니까?C#을 사용하여 Windows 서비스에서 Linux 디렉토리/파일에 액세스하는 방법

감사합니다.

+0

samba 파일 공유 또는 nfs? –

+0

고객은 이미 "net use"를 통해 Linux 상자에 매핑 된 드라이브 문자를 가지고 있습니다. 실제로 Windows 탐색기를 통해 폴더에 액세스하는 데 문제가 없습니다. 그러나 아시다시피 윈도우 서비스는 드라이브 매핑에 액세스 할 수 없습니다. Linux 파일 시스템을 읽으려면 로그인 자격 증명을 전달하는 데 사용할 수있는 Windows 네트워크 API가 있다고 생각했습니다. – Lenard

답변

4

응용 프로그램을 실행중인 Windows 컴퓨터에서 액세스 할 수있는 Linux 상자에 Samba (SMB) 또는 NFS 공유를 만들어야합니다.

그런 다음 .NET에서 파일/디렉토리로 작업 할 때 표준 도구를 사용하여 파일 작업을 수행 할 수 있습니다.

주석에서 언급했듯이 Linux 시스템에서 FTP 서버를 구성해야하는 표준 FTP 라이브러리를 사용할 수도 있습니다. SFTP도 옵션이지만 .NET 측에서 타사 라이브러리가 필요합니다.

+0

S/FTP도이 작업을 수행 할 수 있습니다 (Linux 시스템이이 서버 중 하나를 실행한다고 가정). FTP가 내장되어 있습니다. SFTP에는 타사 라이브러리가 필요합니다. –

+0

S/FTP는 클라이언트의 옵션이 아닙니다. – Lenard

+1

방금이 링크를 발견했습니다 : http://stackoverflow.com/questions/295538/how-to-provide-user-name-and-password-when-connecting-to-a-network-share. (왜 내 이전 검색이 이전에 가져 오지 않았는지 모르겠다.) – Lenard

1

안녕하세요 당신은 내 오픈 소스 프로젝트에서 확인할 수 있습니다 http://code.google.com/p/nekodrive V2 e V3 NFS 프로토콜 구현 (V4.1 출시 예정)을 감추고있는 NekoDrive.NFS C# 라이브러리를 직접 사용할 수 있습니다. 전체 프로토콜을 지원하지 않습니다. 아직은 기본 브라우징/다운로드/업로드 기능을 위해 작동합니다.

희망이 도움이

관련 문제