windows - Hvorfor accepterer IIS anmodninger før RoleEntryPoint.OnStart returnerer?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg spiller med Azure-prøve herfra på Compute Emulator, og jeg fandt ud af, at hvis jeg laver OnStart() i min klasse arvet fra RoleEntryPoint ret langsom for at returnere .aspx-siden i webrollen accepterer HTTP-anmodninger selv før OnStart() vender tilbage. [4]


Jeg finder det ret forvirrende - hvorfor ville IIS acceptere anmodninger om den rolle, der endnu ikke er startet?

Bedste reference


Emulatoren imiterer ikke belastningsbalanceren 100\%. For skyen, når din rolle er i OnStart (), bliver du rapporteret til LB som travlt, og der bliver ikke sendt nogen trafik til den. Når du vender tilbage fra OnStart () med ægte, vil det tage et par sekunder eller så, men først vil LB begynde at rute til den. Du kan teste dette selv ved at spore i din OnStart () og sætte en stor Sleep () derinde. Du vil ikke kunne nå din instans (over ikke langvarige porte).


Du kan selvfølgelig spørge LB om at ignorere statusen Klar, og den vil rute, selv når den er optaget - det gøres ved at angive ignoreRoleInstanceStatus='true' på slutpunktet.