2011-06-15 6 views
2

Compute Emulator에서 Azure 샘플 from here을 사용하고 있는데, OnStart()이 내 클래스에서 상속 된 것으로 확인되면 OnStart()이 반환되기 전에도 웹에서 .aspx 페이지를 반환하는 속도가 느려지므로 RoleEntryPoint에서 상속됩니다.RoleEntryPoint.OnStart가 반환하기 전에 IIS가 요청을 수락하는 이유는 무엇입니까?

나는 IIS가 아직 시작하지 않은 역할에 대한 요청을 받아들이는 이유는 무엇입니까?

+0

내 경험에 의하면, Compute Emulator는 Azure in-cloud 동작의 다소 느슨한 복제물입니다. 그래서이 특질은 당신이 구름 위에서도 똑같이 경험할 것임을 의미합니다. –

+0

실제로 배포 할 때 실제로 같은 문제 (예 : 사용중인 인스턴스를 수락하는 역할)가 발생합니다. http://social.msdn.microsoft.com/Forums/windowsazure/en-US/885c0b7b-c19e-4969-99c8- 9186e53f16c3/azure-cloud-service-internal-server-error-500-scaling-up 포럼 = windowsazuretroubleshooting – Piedone

답변

7

에뮬레이터에서로드 균형 조정기를 100 % 에뮬레이트하지 않습니다. 클라우드에서 역할이 OnStart()에있을 때 LB에 바쁨으로보고되고 트래픽이 라우트되지 않습니다. OnStart()에서 true로 돌아 오면 몇 초 정도 걸릴 것입니다.하지만 LB가 시작되면 그곳으로 전달됩니다. OnStart()에서 추적하고 거기에 큰 Sleep()을 넣음으로써 이것을 직접 테스트 할 수 있습니다. 인스턴스에 연결할 수 없습니다 (느린 포트가 아닌 경우).

물론 LB에게 준비 상태를 무시하도록 요청할 수 있으며, 사용 중일 때도 라우팅됩니다. 즉, 끝점에서 ignoreRoleInstanceStatus = "true"를 지정하면됩니다.

+0

'ignoreRoleInstanceStatus = true'에 대한 다른 의미가 있습니까 ?? –

+0

포트 80에서 작성한 경우 사용자가 준비가되기 전에 웹 인스턴스를 공격하고 IIS (503 또는 기타)에서 오류를 제공 받게됩니다. 역할 상태에 반드시 묶여 있지 않은 포트 (예 : RDP 3389)가 더 적합합니다. – dunnry

+0

감사합니다 !! 말이된다 –

관련 문제