Context information for the current request / scenario.
The Context gives your code information about the page / site / module etc. it's currently running in. All your code (Razor, WebApi) will have a property
CmsContext which is of type ICmsContext.
Your code will always have these objects, but they may sometimes be referencing unknown information.
For example, if the current context doesn't have a known Module (like in API scenarios)
CmsContext.Module will return a valid object, but the ID will be < 0.
This is the runtime context of your code in the CMS. It can tell you about the site, page, module etc. that you're on. Note that it it Platform Agnostic so it's the same on Dnn, Oqtane etc.
Information about the cultures/languages used.
Information about the module context the code is running in.
Information about the page which is the context for the currently running code.
General platform information
The site context of the code - so basically which website / portal it's running on.
The user context of your code - so it's information about the user your code is using.
View context information.
Collection of url parameters of the current page
Note: Has a special ToString() implementation, which gives you the parameters for re-use in other scenarios.
The types of platforms which 2sxc could be running on