ASP.NET applications are hosted by a web server and are accessed using the stateless HTTP protocol. As such, if an application uses stateful interaction, it has to implement state management on its own. ASP.NET provides various functions for state management.

C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development: Build applications with C#, .NET Core, Entity Framework Core, ASP.NET Core, and ML.NET using Visual Studio Code, 4th Edition
ASP.NET Core 3 and Angular 9: Full stack web development with .NET Core 3.1 and Angular 9, 3rd Edition
C# in Depth, 4th Edition

Conceptually, Microsoft treats “state” as GUI state. Problems may arise if an application needs to keep track of “data state”; for example, a finite state machine which may be in a transient state between requests or which takes a long time to initialize. State management in ASP.NET pages with authentication can make Web scraping difficult or impossible.