Iis ARR不发送响应。将内容刷新到客户端

Iis ARR不发送响应。将内容刷新到客户端,iis,asp-classic,iis-10,arr,Iis,Asp Classic,Iis 10,Arr,在一些经典asp应用程序中,我们使用Response.Flush将内容从服务器立即发送到客户端,至少这是使用IIS7的方式 现在我们有了两个服务器和一个代理反向服务器,使用ARR来负载平衡请求(所有3个都运行IIS10),由于某种原因,Response.Flush方法无法正常工作。看起来响应被发送到了ARR,ARR等待响应服务器发送所有内容后再将其发送给客户端 这主要是在处理剩余内容需要一些时间时出现的问题 是否有我应该知道的配置?在ARR服务器代理设置中有一个默认为256 KB的响应缓冲区阈值

在一些经典asp应用程序中,我们使用
Response.Flush
将内容从服务器立即发送到客户端,至少这是使用IIS7的方式

现在我们有了两个服务器和一个代理反向服务器,使用ARR来负载平衡请求(所有3个都运行IIS10),由于某种原因,
Response.Flush
方法无法正常工作。看起来响应被发送到了ARR,ARR等待响应服务器发送所有内容后再将其发送给客户端

这主要是在处理剩余内容需要一些时间时出现的问题


是否有我应该知道的配置?

在ARR服务器代理设置中有一个默认为256 KB的响应缓冲区阈值设置

如果将其设置为0(KB),则它必须按预期工作

这是一个机器范围设置,因此您需要具有管理权限才能修改它

可以通过在命令提示符下运行以下命令来更改设置

%windir%\system32\inetsrv\appcmd.exe set config  -section:system.webServer/proxy /minResponseBuffer:"0"  /commit:apphost
或使用IIS管理器的GUI:

  • 打开IIS管理器
  • 单击菜单上的服务器名称
  • 双击应用程序请求路由缓存
  • 单击操作窗格上的服务器代理设置
  • 滚动至缓冲区设置
  • 更改响应缓冲区阈值(KB)设置
  • 在操作窗格中单击应用

    • 在ARR服务器代理设置中有一个响应缓冲区阈值设置,默认为256 KB

      如果将其设置为0(KB),则它必须按预期工作

      这是一个机器范围设置,因此您需要具有管理权限才能修改它

      可以通过在命令提示符下运行以下命令来更改设置

      %windir%\system32\inetsrv\appcmd.exe set config  -section:system.webServer/proxy /minResponseBuffer:"0"  /commit:apphost
      
      或使用IIS管理器的GUI:

      • 打开IIS管理器
      • 单击菜单上的服务器名称
      • 双击应用程序请求路由缓存
      • 单击操作窗格上的服务器代理设置
      • 滚动至缓冲区设置
      • 更改响应缓冲区阈值(KB)设置
      • 在操作窗格中单击应用

      尝试使用Response.End()。使用Response.Flush()和Response.Close()无法正确关闭。但是需要处理的其余代码呢?请尝试使用Response.End()。使用Response.Flush()和Response.Close()将无法正确关闭。但是需要处理的其余代码呢?谢谢,我已将此信息发送给服务器管理员,这确实完成了任务。我对环境(开发环境和生产环境)之间的工作方式不同感到不安。谢谢,我将此信息发送给了服务器管理员,这确实完成了任务。我对环境(开发环境和生产环境)之间的工作方式不同感到不安。