What is an analog of request.Properties in ASP.NET

2020-04-07 04:25发布

问题:

In WebApi2 it was common to put arbitrary objects into HttRequestMessage.Properties. Usually it was doing with extension-methods like request.SetUserRights() where SetUserRights just put an object into request.Properties[HttpPropertyKey.UserRights].

Now in ASP.NET 5 there is no such property in HttpRequest.

What pattern is supposed to be be used for passing arbitrary objects along with http request?

In WebApi for putting objects in request.Properties filters were used usually. We still have filters in AspNet5, so the question can be rephrased as: where should a filter put common data specific for the request. Examples of such data can be: current user's roles, current user's language and so on.

回答1:

HttpContext class has Items property which you can use for this purpose.