2013-05-02 2 views
5

그래, 내가 일종의 시작을 절대적으로 수행해야하는 웹 응용 프로그램을 가지고 있으며 클라이언트로부터받은 통신에 관계없이 무기한 실행을 유지해야한다고 가정 해 봅시다. 푸시 기반 시스템).Net 웹 응용 프로그램 응용 프로그램 시작 워크 플로 IIS

테스트를 위해 지금은 Windows 서비스로 호스팅하고 있습니다. 응용 프로그램에 대한 하드 엔트리 포인트를 가지고 있기 때문에 부트 스트랩을 할 수 있고 서비스를받을 수 있습니다. 실행 중

다음으로 나는 이것을 IIS 세계로 옮기려고 노력하고 있습니다. 그래서 저는이 서비스를 바깥 세상에 직면 할 수 있습니다 ... 그리고 나는 걸림돌을 때렸습니다 ... 나는 어떤 어려운 입장도 가지고 있지 않습니다. 내가 시동 할 수있는 지점 클라이언트가 서버에 전화를 걸 때만 호출되는 global.asax를 제외하고 응용 프로그램을 잡아 두십시오.

더 나은 영역이 있습니까? 응용 프로그램의 입구를 기다리고 기다리지 않고 부트 스트랩 할 수 있습니다. 그것에 연결할 클라이언트? 이 영역은 한 번만 호출되거나 응용 프로그램이 범위를 벗어날 때 주기적으로 호출됩니다 (말하자면)? 내가 말했듯이, 앱은 항상 실행 상태를 유지해야합니다.

답변

3

더 나은 영역이 있습니까? 응용 프로그램에 입구를두고 클라이언트가 연결될 때까지 기다리지 않고 부트 스트랩 할 수 있습니까?

예, 있습니다. 당신은 warm up IIS 일 수 있습니다.

이 영역은 한 번만 호출되거나 응용 프로그램이 범위를 벗어날 때 주기적으로 호출됩니다 (말하자면)?

사용하는 Global.asax의 방법에 따라 다릅니다. Application_Start은 앱 시작 당 한 번 실행됩니다. 내가 말했듯이

는 응용 프로그램은 항상

주의

, 여기 용에서 계속 실행한다. 이것은 얼마나 중요한지에 달려 있습니다. 완벽한 신뢰성이 필요한 경우로드 밸런서를 사용하고 적어도 하나의 다른 중복 서비스가 있어야합니다. 고려해야 할 다른 사항으로, 앱 풀은 수시로 재활용해야합니다. IIS, OS, 응용 프로그램에 버그가 있고 업데이트를 설치해야하며 네트워크 장치가 고장 나고 정전이 발생합니다.

+0

하하, 그렇습니다. 게시 한 후이 기사를 보았습니다 ... 유망한 것처럼 보입니다 ... 앱을 계속 실행해야하는 경우 많은 양의 가동 시간이 필요하지만 기능이 필요하지는 않습니다. 영원히 안정적으로 서비스를받을 수 있습니다 ... 서비스는 주기적으로 위아래로 움직일 수 있습니다. 나는 잠시 동안 부트 스트래핑 프로세스를 자주 실행하는 것을 피하기 위해 가능하면 오랫동안 살아 있도록하는 방법을 모색하고 있습니다. –

+0

"워밍업 IIS"방법에 관한 링크는 IIS 7.5 (+?)에만 적용됩니다. –

관련 문제