Tach!
ASP.NET nutzt(e) dieses Konzept seit 2002. Es existiert also schon seit langem genug Erfahrung damit.
Das ist kein Grund. Das kommt von Microsoft, soweit ich mich erinnere und dort wird bekanntlich nie etwas fertig entwickelt, bevor es verbreitet wird. ;-P
ASP.NET ist wie .NET keine Microsoft-interne Geschichte. Das nutzen sehr viele Entwickler für ihren Projekte. Es ist also nicht nur so, dass nur Microsoft damit Erfahrung hat, sondern eine ganze Menge mehr.
Heutzutage wird man aber eher nicht mehr auf das herkömmliche ASP.NET setzen, aber nicht etwa weil die Speicherung des Viewstate sich nicht bewährt hätte, sondern weil es modernere Verfahren zur Anwendungsentwicklung gibt.
Es war wohl eher damit gemeint, dass man sowieso damit rechnen muss, dass mal was verloren gehen kann, und man generell geeignete Maßnahmen bei Verlust vorsehen muss. Auch ein Session-Cookie kann abhandenkommen. In jedem Fall muss also der Client dem Server Daten bereitstellen, damit das System ordnungsgemäß funktioniert. Ob das nur ein Cookie ist, oder ob es mehr Daten sind, spielt dann auch keine Rolle mehr.
Das ist nicht genau genug betrachtet. Es kommt immer darauf an, auch welcher Seite (Client oder Server) die relevanten Daten gehalten werden sollen.
Was nützt es mir als Client, der den Session-Cookie verloren hat, dass der Server meine relevanten Daten in einer Session-Datei liegen hat, wenn ich ohne den verdammten Cookie nicht drauf zugreifen kann? Beide Teile sind relevant, ohne den anderen Teil ist keiner etwas wert. Ob das Gewicht dabei auf der einen oder der anderen Seite liegt, hilft dabei nicht weiter.
Wenn Daten wichtig sind, sollten sie nicht in oder unter Verwendung von potentiell verlierbaren Elementen gespeichert weren.
dedlfix.