ein wenig Hintergrundinformationen zuerst. Ich habe die meiste Zeit meiner Karriere mit Web Forms gearbeitet und bin seit kurzem an .NET MVC interessiert. Mir ist klar, dass es staatenlos sein soll, aber ich verstehe nicht, wie es überhaupt machbar ist. In einer Formularanwendung authentifiziert sich der Benutzer und ich gebe eine Benutzer-ID und einige Rollen zurück, die dann in dieser Benutzersitzung platziert werden. Wenn ich sie brauche, muss ich sie nur aus der Sitzung rausholen und ich habe sie. Nach dem, was ich gelesen habe, schließen sich Sitzung und MVC gegenseitig aus. Ich habe gelesen, dass man TempData verwenden kann, um Werte zu übergeben, aber es bleibt nur für eine Seite besuchen und dann ist es weg. Gibt es eine Standardmethode, mit der Daten auf einer MVC-Site "persistiert" werden können, abgesehen von der Hinzufügung von redundantem Code zu jedem Controller, an den ich die Daten weiterleiten möchte?.NET MVC und sichere Weitergabe von Daten zwischen den Seiten
Antwort
Das ASP.NET MVC-Framework basiert auf dem ASP.NET-Framework aufgebaut und als solche können Sie Sitzungsstatus in ASP.NET MVC verwenden:
Session["MyVar"] = "SomeValue";
Ich denke, es könnte einige Verwirrung in Bezug auf sein hier . Was hier zustandslos ist, ist das HTTP-Protokoll. ASP.NET WebForms war eine Technologie, die entwickelt wurde, um ein Framework zu erstellen, das die Zustandslosigkeit von HTTP "umgeht" und ein statusbehaftetes webbasiertes Anwendungsframework erstellt. Aus diesem Grund sehen Sie in WebForms Dinge wie ViewState, der im Wesentlichen den Zustand der Anwendung entlang der Pipe transportiert.
ASP.NET MVC kam und nahm einen anderen Ansatz. Es umfasst die Staatenlosigkeit von HTTP. Deshalb gibt es in MVC keinen ViewState.
Das bedeutet jedoch nicht, dass Sie nicht mehr mit zustandsbehafteten Entitäten interagieren. Der Client-Computer (ein Browser für Beispiel) ist eine zustandsbehaftete Anwendung, genauso wie der Server, der den serverseitigen Code ausführt (in diesem Fall IIS oder was auch immer), ebenfalls statusbehaftet ist.
Daher sind Dinge, die auf der Serverseite sind immer noch Stateful (wie Sitzung, Anwendung, Cache), und Sie können sie weiterhin verwenden. Auch die Client-Seite ist statusbehaftet, weshalb clientseitige Skripte in den letzten Jahren so stark geworden sind; Leute, die versuchen, die Statusfheit des Browsers voll auszunutzen.
- 1. Weitergabe von Daten zwischen Middelware
- 2. Weitergabe von Daten zwischen Aktivitäten
- 3. Weitergabe von Daten zwischen den Tabs in iOS
- 4. Weitergabe von Daten mit Navigationsrahmen
- 5. Weitergabe von JUnit-Daten zwischen Tests
- 6. Weitergabe von Daten zwischen Aktivitäten in Android
- 7. Daten zwischen den Seiten richtig übergeben
- 8. Weitergabe von Daten zwischen Fragmenten und droidText funktionieren nicht
- 9. Xcode-Weitergabe von Daten
- 10. TTNavigation Weitergabe von Daten
- 11. Wie sichere den Verkehr zwischen iOS-App und Server?
- 12. Kommunikation zwischen den Seiten
- 13. Weitergabe von Metadaten und Datei an den Controller
- 14. Senden von Daten zwischen PHP-Seiten
- 15. Daten zwischen HTML-Seiten teilen
- 16. Weitergabe von Daten zwischen Android ListActivities in Java
- 17. Weitergabe von Daten zwischen reaktiven Funktionen - Shiny R
- 18. Halten Sie Daten zwischen den Seiten in eckigen js
- 19. Spring Security sichere benutzerdefinierte Seiten
- 20. ASP.NET MVC - Sichere temporäre Speicherung von Kreditkartendaten
- 21. Weitergabe von Daten über den Navigations-Controller - Objective C
- 22. Weitergabe von Daten von Unity3D an C++ dll und umgekehrt
- 23. Übergeben und Speichern von Objekten zwischen Seiten
- 24. Angular UI-Router die Weitergabe von Daten zwischen den Zuständen mit Go-Funktion funktioniert nicht
- 25. YUI AJAX und .Net MVC
- 26. Uwp Anwendung Navigation zwischen den Seiten
- 27. Weitergabe von Server-Seite MVC-Variablen zu Javascript
- 28. Sessionstatus nicht zwischen den Seiten gespeichert
- 29. Austausch von Daten zwischen XAML und ASPX
- 30. Daten zwischen Seiten mit jQuery Mobile übergeben?