2015-02-06 1 views
0

ASP.NET 응용 프로그램 (Windows 서버/IIS 7에서 실행)은 현재 사용자가 업로드 한 큰 크기의 파일을 외부 SFTP 서버로 전송해야합니다. 파일 크기 때문에 비동기 적으로이 작업을 수행하는 것이 좋습니다.새로 생성 된 파일을 SFTP 서버에 자동 업로드

아이디어는 ASP.NET 응용 프로그램이 업로드 된 파일을 Windows 서버의 로컬 디렉토리에 저장한다는 것입니다. 현재 사용자는 작업을 계속할 수 있습니다. Windows 서비스 또는 Quartz 작업 (다른 도구 (*)/아이디어?)은 이제 파일을 외부 SFTP 서버로 전송할 책임이 있습니다.

(*) Windows 디렉토리의 변경을 수신 대기 한 다음 SFTP 서버에서 파일을 이동하는 기존 도구가 있습니까 (통신 오류/재 시도 처리 포함)?

기존 솔루션이없는 경우 비슷한 요구 사항이 있습니까? 우리는 무엇을 고려해야합니까? SFTP 서버에 대한 연결이 안정적이지 않기 때문에 자동 재시도 기능으로 최적화 된 오류 처리가 필요합니다.

답변

1

.NET에서 로컬 디렉토리의 변경 사항을 확인하려면 FileSystemWatcher class을 사용하십시오.


당신이 박스 솔루션의 부족을 찾는 경우는, WinSCP scripting에서 keepuptodate command를 사용합니다.

WinSCP에 스크립트 (예를 들어, watch.txt)의 간단한 예 :

open sftp://username:[email protected]/ 
keepuptodate c:\local_folder_to_watch /remote_folder 
exit 

스크립트를 실행 같은 : 업로드 된 파일이 원격 폴더에 보존하는 경우이 만 작동하지만

winscp.com /script=watch.txt 

.

는 큰 입력

+0

감사합니다 (I은 WinSCP에의 저자 해요)! – levis