2017-10-26 8 views
1

아무도 응용 프로그램 준비 작업을 위해 ASP.NET 메서드 Application_Start를 사용하여 이의 제기를 알고 있습니까?웜업을 위해 ASP.NET Application_Start를 사용하여 이의가 있습니까?

는 은 특히, 일반적으로 파일을 미리로드하는 데 필요한 웹 서비스에 대한 알고리즘을 캐시

는 존재 :

는하지만, 두 방법은 각 응용 프로그램에 대한 IIS 구성의 변화를 요구, 무엇을 많은 많은 애플리케이션의 경우에 불편 해제에 대한 추가 위험이있다. ASP.NET Application Life Cycle Overview for IIS 5.0 and 6.0에 따라

:

ASP.NET은하지 각 같이 HttpApplication 예를 들어, 응용 프로그램 도메인의 수명 동안 한 번에 (위해 Application_Start 및 Application_End)를 호출합니다.

따라서, 위해 Application_Start 예를 들어, 워밍업 코드에 대한 좋은 장소처럼 보인다 :를 AlwaysRunning

그것은 단지 IIS 응용 프로그램을 구성 할 필요
protected void Application_Start(object sender, EventArgs e) 
{ 
    Task.Run(WarmUpBackend); 
} 

한다. WarmUpBackend에는 웹 서비스에 필요한 모든 것을 미리로드 할 수 있습니다.

답변

0

Service autostart provider을 사용하는 것이 더 나을 것 같습니다.

Scott Guthrie에 대한 블로그 게시물이 있습니다.

+0

Joe, 감사합니다.하지만 Application_Start보다이 방법이이 시나리오를 해결하는 것보다 낫지 않은 이유는 무엇입니까? 내 질문은 웹 페이지에 대한 요청없이 일부 웹 서비스를 준비하는 것과 관련이 있습니다. 웹 서비스의 경우 일반적으로 DB에 대한 쿼리, 캐시에 미리로드되는 파일 등이 가장 비쌉니다. –