我正在使用Compute Emulator上的Azure示例from here,我发现如果我在继承自OnStart()
的类中使RoleEntryPoint
相当慢,则返回.aspx页面中的。即使在OnStart()
返回之前,Web角色也会接受HTTP请求。
我发现它相当令人困惑 - 为什么IIS会接受对尚未启动的角色的请求?
答案 0 :(得分:7)
模拟器不会100%模拟负载均衡器。对于云,当您的角色位于OnStart()时,您将被报告为LB忙,并且不会将流量路由到它。一旦从OnStart()返回true,它将花费几秒钟左右,但只有这样,LB才会开始路由到它。您可以通过跟踪OnStart()并在其中放置一个大的Sleep()来自行测试。您将无法访问您的实例(通过非延迟端口)。
您当然可以要求LB忽略就绪状态,即使在忙碌时它也会路由 - 这是通过在端点上指定ignoreRoleInstanceStatus =“true”来完成的。