Почему IIS принимает запросы до возврата RoleEntryPoint.OnStart? - PullRequest
2 голосов
/ 15 июня 2011

Я играю с примером Azure отсюда в Эмуляторе вычислений, и я обнаружил, что если я сделаю OnStart() в моем классе, унаследованном от RoleEntryPoint, довольно медленно, чтобы вернуть страницу .aspx в Интернетероль принимает HTTP-запросы даже до того, как OnStart() вернется.

Я нахожу это довольно странным - почему IIS принимает запросы к роли, которая еще не запущена?

1 Ответ

7 голосов
/ 15 июня 2011

Эмулятор не эмулирует балансировщик нагрузки на 100%.Для облака, когда ваша роль в OnStart (), вы сообщаетесь в LB как Busy, и на него не будет перенаправляться трафик.Как только вы вернетесь из OnStart () с true, это займет несколько секунд или около того, но только тогда LB начнет маршрутизировать к нему.Вы можете проверить это самостоятельно, отследив свой OnStart () и поместив туда большой Sleep ().Вы не сможете получить доступ к своему экземпляру (через неактивные порты).

Вы, конечно, можете попросить LB игнорировать состояние Ready, и он будет маршрутизировать, даже когда занят - это делается путем указания ignoreRoleInstanceStatus ="true" в конечной точке.

...