No, it is passed into the ProcessContext method only. The handler then interacts with that HttpContext instance as it's the context for the request. You can pass around the context instance to various other methods and such as much as you would like.
Why it is done this way becomes more clear if you look at the documentation about the IsReusable property. When that property is true
, multiple requests can be served by the same handler instance, and thus they must be supplied a separate HttpContext to work.
Now, if you specify IsReusable as false
, you can then store the HttpContext instance from ProcessRequest in a property on the instance. Not sharing the handler can cause performance issues under some scenarios, but you likely won't need to worry about that.