windows - 为什么 IIS 在 RoleEntryPoint.OnStart 返回之前接受请求?

标签 windows iis azure cloud azure-web-roles

我正在使用 Azure 示例 from here在计算模拟器上,我发现如果我在从 RoleEntryPoint 继承的类中创建 OnStart() ,则返回 Web 角色中的 .aspx 页面接受 HTTP 请求之前会相当慢OnStart() 返回。

我觉得这很令人困惑 - 为什么 IIS 会接受对尚未启动的角色的请求?

最佳答案

模拟器并未 100% 模拟负载均衡器。对于云,当您的角色位于 OnStart() 中时,您将向负载均衡器报告为“忙碌”,并且不会将任何流量路由到它。一旦您从 OnStart() 返回 true,将需要几秒钟左右的时间,但只有那时 LB 才会开始路由到它。您可以通过跟踪 OnStart() 并在其中放置一个大的 Sleep() 来自行测试。您将无法访问您的实例(通过非延迟端口)。

您当然可以要求负载均衡器忽略“就绪”状态,即使在繁忙时它也会进行路由 - 这是通过在端点上指定ignoreRoleInstanceStatus =“true”来完成的。

关于windows - 为什么 IIS 在 RoleEntryPoint.OnStart 返回之前接受请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6355988/

相关文章:

C# - Windows 窗体,用于面板控件的溶解动画

java - Java中的Spawn过程,类似于双击

iis - IIS下ASP.NET Core随机重启

Azure CLI 下载错误

正则表达式将组与 PowerShell 中的字符串匹配

windows - UDP丢包

php - IIS 不为 Laravel 站点提供 .css 和 .js 文件

iis - 每个站点一个 SSL 证书

azure - 使用 Azure Automation DSC 更新应用程序

azure - 在 azure 文件共享和 blob 之间移动文件