2012-07-16 2 views
0

저는 최근에 새로운 회사에서 일하기 시작했으며 이제는 웹 응용 프로그램 (asp.net)을 작성하고 있습니다. 이 응용 프로그램은 Global.asax를 사용하여 주어진 간격으로 다양한 작업을 수행하는 타이머를 시작합니다 (전자 메일 보내기, 데이터베이스의 다양한 값 설정 등)Windows 서비스 또는 Global.asax는 무엇입니까?

지금 원하는 것은 세 번째 호출 할 것입니다. 파티 웹 서비스는 일부 데이터를 검색하고 우리 끝에 데이터베이스를 업데이트합니다. 나는 일반적으로 Windows 서비스에서 위의 모든 작업을 수행합니다. 그러나 그들은 global.asax에서 이런 유형의 것을 가지고있어 행복합니다.

새 프로젝트를 만들고이 새로운 기능을 Windows 서비스로 개발할 것입니다. 어쩌면 이걸 global.asax에 추가해야할까요?

제 질문은 위의 시나리오에 가장 적합하거나 가장 좋은 방법은 무엇입니까?

답변

2

외부 서비스를 사용하는 것이 가장 좋습니다.

  1. 프로세스를 수행하는 요청과 관련이없는 스레드에서 처리되지 않은 예외. 이것은 Application_Error 메소드를 통해 핸들러 설정이있는 경우에도 발생합니다.

  2. 웹 팜에서 사이트를 실행하면 모두 동일한 작업을 동시에 실행하려고하는 앱의 인스턴스가 여러 개일 수 있습니다. 첫 번째 항목보다 처리하기가 다소 어려우나 여전히 어렵지 않습니다. 일]적인 접근 f}은 타스크를 조정하는 동기화 메커니즘으로 데이터베이스와 같은 모든 서 v에 공통 인 자원을 사용하는 것입니다.

  3. 사이트가 실행되는 AppDomain은 여러 가지 이유로 다운 될 수 있으며 백그라운드 작업을 중단 할 수 있습니다. 코드 실행 중간에 데이터가 손상 될 수 있습니다.

    : 추가 정보를 위해