2010-11-30 3 views
0

.Net 환경에 대해 잘 모릅니다. 따라서 첫 번째 아이디어는 새 콘텐츠를 찾기 위해 폴더를 검색 한 다음 알림을 전자 메일로 보내는 콘솔 앱을 작성하는 것이 었습니다. 그런 다음 .exe를 예약 된 작업으로 서버에두고 몇 분마다 실행합니다. 이것은 나에게 꽤 고풍 것 같다. 내 웹 사이트에서이 작업을 수행하는보다 우아한 방법이 있습니까?.Net 웹 사이트에서 폴더 내용이 변경 될 때 전자 메일 경고를 보내는 내 옵션은 무엇입니까?

답변

2

선택한 응용 프로그램 유형에 관계없이 .NET에서 폴더 변경에 대한 알림을받는 방법은 FileSystemWatcher 클래스를 통해 이루어집니다. 좋은 접근 방법은 백그라운드에서 실행되고 알림을 수신 대기하는 create a Windows Service입니다.

+0

Windows 서비스 만 유일한 옵션입니까? 나는 웹 사이트 데이터와 설정 파일에 무언가가 완전히 포함되기를 바랐다. –

+0

물론, 당신은 항상 ASP.NET 응용 프로그램에서'FileSystemWatcher'를 사용할 수 있습니다. 여기서 아무런 문제가 없습니다. –

+0

이것은 내가 한 일이다. 앱 시작시 FileSystemWatcher를 인스턴스화하고 실행 상태를 유지하려면 어떻게해야합니까? –

1
+0

감사합니다. 도움이됩니다. 내 제목 줄을 잘못 작성했다고 가정합니다. 내가 실제로 한 것은 타이머에서 코드를 실행하거나 응용 프로그램 시작시이를 시작하고 계속 실행하는 적절한 방법입니다. 내가 할 수있는 global.asax 파일에 뭔가가 타이머에서 실행될 수 있습니까? 차라리 콘솔 앱을 작성하지 말고 창 작업 예약을 실행 해보아야합니다. 누군가가 웹 사이트를 이동하면 무리가있는 것처럼 보일뿐만 아니라 예약 된 작업도 이동해야한다는 것을 기억해야합니다. –

1

당신은 FileSystemWatcher를 사용할 수 있습니다. 끊임없이 실행되는 Windows 서비스를 만들고 감시자에게 이벤트를 첨부하여 전자 메일을 보냅니다.

이 변경 사항은 모든 변경 사항을보고합니다 (예 : 파일 이동은 삭제 및 생각한 것임). 전송 한 이메일 수를 제한하고 싶을 수 있습니다. 수백 개의 이메일을 보내기 전에 조금만 실험 해보세요.

+0

Windows 서비스 만 유일한 옵션입니까? 나는 웹 사이트 데이터와 설정 파일에 무언가가 완전히 포함되기를 바랐다. –

관련 문제