Middleware extensions are the pipeline used for requests in asp.net core. Each middleware plugin can process part or all of the request, and then either choose to return the result or pass on down to the next piece of middleware
Benefits of using Middleware Plugins
There are many uses for middleware within ASP.Net Core, a few examples are:
- Add security headers
- User session management
- Extracting Marketing data
The list is as open as the developers mind.
UserSession Manager Example
Included in the sample source code is a UserSession Manager. This plugin is a Middleware extension that looks for an existing session, creates one if one does not already exist and then add's it to the HttpContext for use in Controllers loaded into the application.
The UserSession is highly optimised and allows the developer to store custom information to identify each vistor to a website. If required GeoIp data can be attached to the UserSession class.
A variety of reporting options are available to make maximum use of the Seo data collected.
To access the user session within a controller, simply obtain a reference from the HttpContext instance.
public class ServicesController : Controller
public IActionResult Index()
UserSession session = (UserSession)HttpContext.Items["UserSession"];
// user is not logged in, do something...
public IActionResult Middleware()