代码之家  ›  专栏  ›  技术社区  ›  tacos_tacos_tacos

ASP.NET Core 2中的HttpResponseBase.BufferOutput属性等效于什么?

  •  1
  • tacos_tacos_tacos  · 技术社区  · 6 年前

    public class ContentStreamingResult : ActionResult {
    
        private Action<Stream> _onExecuteAction;
    
        public ContentStreamingResult(Action<Stream> onExecuteAction) {
            _onExecuteAction = onExecuteAction;
        }
    
        public override void ExecuteResult(ControllerContext context) {
            var httpContext = context.HttpContext;
            httpContext.Response.BufferOutput = false;
            _onExecuteAction(httpContext.Response.OutputStream);
        }
    }
    

    根本没有 BufferOutput HttpResponse .NET核心中的类。

    什么是等效的 HttpResponseBase.BufferOutput ASP.NET Core 2中的属性?

    1 回复  |  直到 6 年前
        1
  •  6
  •   Edward    6 年前

    用于启用 Buffering UseResponseBuffering Startup 如下所示:

    app.UseResponseBuffering();
    

    在应用 Buffering Middleware ,如果要禁用特定请求的缓冲区,可以尝试以下代码:

    var bufferingFeature = httpContext.Features.Get<IHttpBufferingFeature>();
    bufferingFeature?.DisableResponseBuffering();