gpt4 book ai didi

c# - 什么是 HttpContext.Response.HasStarted?

转载 作者:行者123 更新时间:2023-12-04 07:23:26 27 4
gpt4 key购买 nike

例如,ExceptionHandlerMiddleware Middleware code on Github

将其用作:

if (context.Response.HasStarted ||...)

我不太明白,假​​设 ExceptionHandlerMiddleware 是管道中的第一个中间件,当请求仍在管道中时,Web 服务器如何开始向客户端发送响应?因为请求还没有从ExceptionHandlerMiddleware出来,所以还没有到达web服务器,那么在这种情况下web服务器怎么可能已经开始向客户端发送响应呢?

最佳答案

任何中间件或处理程序都可以选择调用 WriteAsync (或其他类似方法)在 HttpResponse 上,可能多次。

并非所有这些写入都只存储在本地缓冲区中是不可能的,而且确实可能​​不希望只在本地缓冲。因此,这些 Write 调用迟早会导致通过网络发送真实数据。

并且,在这个具体示例中,处理程序在遇到导致控制权返回到 ExceptionHandlerMiddleware 的错误情况之前可能已经进行了多次调用,例如上述调用。

关于c# - 什么是 HttpContext.Response.HasStarted?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68357686/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com