Pourquoi IIS accepte les demandes avant le retour RoleEntryPoint.OnStart?
-
28-10-2019 - |
Question
Je joue avec l'échantillon Azure d'ici sur Compute Emulator et je trouve que si je fais OnStart()
dans ma classe héritée de RoleEntryPoint
plutôt lent pour retourner la page .aspx dans le rôle Web accepte les demandes HTTP même avant le retour de OnStart()
.
Je trouve assez confus - pourquoi serait IIS accepter les demandes au rôle qui n'a pas encore commencé
La solution
L'émulateur n'émule pas l'équilibreur de charge de 100%. Pour le nuage, lorsque votre rôle dans OnStart () vous êtes rendu à la LB comme occupé et aucun trafic sera acheminé vers elle. Une fois que vous revenez de OnStart () avec vrai, il faudra quelques secondes environ, mais alors seulement le LB commencer à acheminer à lui. Vous pouvez tester vous-même en traçant dans votre OnStart () et de mettre un grand sommeil () là-dedans. Vous ne serez pas en mesure d'atteindre votre instance (sur les ports non persistants).
Vous pouvez demander bien sûr le LB d'ignorer l'état Prêt et il acheminera même en cas d'occupation -. Qui se fait en spécifiant ignoreRoleInstanceStatus = « true » sur le point de terminaison