저는 웹 응용 프로그램에서 일하는 .net 개발자입니다. 지난 몇 달 동안 저는 Windows 응용 프로그램에서 작업하기 시작했으며 12 개의 정오에 매일 하나의 응용 프로그램을 실행해야 Google의 도움을 받아 웹 서비스를 작성했으며 정상적으로 작동하고 있습니다. .윈도우 스케줄러 또는 작업 관리자와 비교하여 윈도우 서비스가 내부적으로 어떻게 작동합니까?
하지만 저는 Windows 서비스가 어떻게 작동하는지 궁금합니다. 나는 많은 게시물을 읽었고 아무도 내 질문에 대답하지 않았다. 그래서 나 자신의 말로 앞으로 나왔다.
웹 서비스에 대한 나의 이해에 따르면 타이머 조건이 충족 될 때 24 시간 동안 실행되는 타이머를 사용하여 스케줄러를 만들고 필요한 코드를 실행합니다.
스케줄러에서는 시간 조건이 충족 될 때 응용 프로그램 (이전 사례의 서비스)을 실행하는 스케줄러를 구성합니다. 이제
내 질문 :
RAM 사용량에 대해서?
나는 서비스가 RAM을 사용한다는 것을 알고있다. 그러나 내 코드가 무거운 것 같으면 10MB를 고려하십시오. Ther fore.exe 파일은 약 10MB 이상입니다. 따라서 서비스가 시작될 때 24 시간마다 10MB의 RAM을 사용하게됩니다. 또는 서비스가 거의 일정한 스케줄러를 작성한 다음 시간이 만료되면 서비스 코드를로드합니까?
스케줄러를 고려하면 어떻게 작동합니까? 나는 시간이 만났을 때 발사되는 방아쇠가있을 것이라고 생각한다. 발사 된 트리거는 일반적으로 .exe 파일을 실행 시켜서 서비스라고 부른다. (그러나 이것은 응용 프로그램이다.) 여기서는 서비스 코드가 스케줄러와 분리되어 스케줄러 만 실행되고 RAM에 서비스 코드가로드됩니다.
맞습니까? 스케줄러는 24 시간 전체 점검 시간도 실행합니까?
- 하나의 설치 프로그램으로 2 개의 서비스가있는 경우를 대비하여. 이제 2 개의 서비스가 설치됩니다. 하지만 두 서비스가 각각 20MB의 .exe 크기를 갖는 10MB의 크기인지 그리고 두 서비스가 모두 실행될 때 크기가 10MB가되는지 (상대적인 서비스 코드를 고려할 때 고려해야 함) 또는 20MB마다 같은 exe에 있기 때문에 두 서비스 코드를 모두 읽습니다).
귀중한 답변을 기다리고 있습니다.
미리 감사드립니다.
하루에 한 번만 실행되는 코드가 필요하다면 서비스가 전혀 필요하지 않으며 Windows 작업 스케줄러를 사용하여 .exe (콘솔 응용 프로그램)를 실행하면됩니다. – Evk
예. 나는 이해. 하지만 그건 내 질문이 아니야. 내 질문은 내가 선택해야하는 것이 아니다. 내 질문은 그들이 메모리, RAM 및 코드 실행 논리의 관점에서 어떻게 다르게 작동하는지입니다. –