2017-11-08 16 views
1

FTP 서버에서 삭제 될 .csv 파일을 검색 할 수 있어야합니다. 파일이 전송되면 코드를 실행하여 파일을 읽은 다음 .csv 파일의 모든 정보를 SQL Server에 업로드해야합니다. 파일이 전송 된 후에는 업로드되는 내용의 유효성을 검사하고 계산을 수행하는 몇 가지 다른 기능을 실행해야합니다.ASP.NET MVC 5 백그라운드 서버 측에서 새 파일 끝 실행 기능을 감지합니다.

이상적인 의미에서 파일을 삭제하면 기능이 실행되어야합니다 (사람이 개입하지 않고 배경에서 실행). FileWatcher가 C# 응용 프로그램에서 사용되었지만 MVC에서는 사용되지 않은 곳을 찾았습니다.

사람이 어디 Asp.net MVC 5 또는이 더 나은 솔루션을 수행하는 모든 예제가 있습니까?

감사합니다.

+4

왜 이것을 ASP.NET MVC 5 응용 프로그램에서 구현하고 싶습니까? MVC 응용 프로그램과 동일한 컴퓨터에서 실행되는 새 응용 프로그램 (예 : Windows 서비스)을 작성하는 것이 더 좋지 않습니까? 이 Windows 서비스는 FileWatcher로 폴더를보고 데이터를 데이터베이스로 전송할 수 있습니다. – Shamshiel

+0

생각 하나의 응용 프로그램 내에서 모든 작업을 더 쉽게 수행 할 수 있도록합니다. 또한 그것이 Windows 서비스로 작성된 경우 데이터베이스에 데이터를 전송 한 후 MVC 응용 프로그램에서 프로세스를 트리거하는 방법은 무엇입니까? – user2806570

+0

어떤 과정을 의미합니까? MVC 애플리케이션은 정확히 무엇을해야합니까? – Shamshiel

답변

1

FileSystemWatcher here에 대한 C# 샘플이 있습니다. 그러나 IIS에서 실행되는 웹 응용 프로그램은 장기 실행 스레드에 가장 적합한 플랫폼이 아닙니다. IIS는 응용 프로그램 풀 재활용을 수행 할 때 주기적으로 스레드를 종료 한 다음 예기치 않은 결과가 발생할 때 다시 생성하려고 시도합니다. 잠시 후에 웹 요청을받지 못하면 IIS는 잠자기 상태가되고 스레드도 작동을 멈 춥니 다. IIS 구성을 변경하여 강제로 이러한 작업을 수행하지 않을 경우 메모리 누수 및 기타 다른 문제가 발생할 수 있습니다. 수년 전 우리는 Quartz.Net과 협력하여 ASP.Net 웹 응용 프로그램의 스케줄러 스레드를 Windows 서비스로 이동하고 정상적으로 작동 할 때까지 모든 종류의 문제 (갑자기 실행되지 않고 메모리 예외가 발생하는 등)에 직면했습니다. 나는 IIS가 당신이하고 싶은 일을한다고 생각하지 않는다.