Wenn ja; wo kann ich das bekommen?Gibt es einen Visual Studio-Debugger-Visualizer für die ASP.NET-Sitzung?
Antwort
Haben Sie versucht this eins von Codeproject? Nach der Korrektur der Referenz auf Microsoft.VisualStudio.DebuggerVisualizers
von Version 9.0 auf 10.0 funktionierte es in vs2010.
Installationsordner ist:
C:\Program files\Microsoft Visual Studio 10.0\Common7\Packages\Debugger\Visualizers
Leider ist das SessionVisualizer-Fenster modal und nicht andockbar, aber hey es funktioniert! Hinweis: Ihre Sitzungsobjekte müssen serialisierbar sein, um die Daten im Viewer anzuzeigen, obwohl Sie den Namen und den Typ aller Objekte in der Liste sehen können. Praktisch! –
Peter, es ist besser, dass Sie den Sitzungszugriff zentralisieren.
public class SessionStateBag
{
private static string SessionPropertyXKey = "SessionPropertyX";
public static int SessionPropertyX
{
get { return Session[SessionPropertyXKey]; }
set { Session[SessionPropertyXKey] = value; }
}
private static string SessionPropertyYKey = "SessionPropertyY";
public static string SessionPropertyY
{
get { return Session[SessionPropertyYKey]; }
set { Session[SessionPropertyYKey] = value; }
}
// etc. Try to guess the type of the session property. If you cannot guess it; use object.
}
Im Rest des Codes, ersetzen Session [ "xxx"] mit einem der Eigenschaften von SessionStateBag oben.
Dies kann einen oder zwei Tage dauern, aber Sie haben Zugriff auf alle Sitzungen an einem Ort und Sie haben die Möglichkeit, Einblicke in das Labyrinth zu bekommen, das das Session-Objekt manchmal erstellt.
Danke, aber das beantwortet die Frage nicht. Ich arbeite in einer großen Legacy-Codebase, wo dies nicht praktikabel ist, da es nur wenig Testabdeckung gibt. –
Wie groß kann eine Codebasis sein, die das Suchen/Ersetzen nicht zu einem relativ einfachen Refactor macht? Zugegeben, das ist keine direkte Antwort auf die genaue Frage, aber scheint mir dies ein ausgezeichneter Vorschlag, um Ihnen zu helfen, Ihr Debugging zu verbessern. Ich arbeite selbst an einer ziemlich großen Codebasis, wenn das Sitzungsobjekt ein Problem für uns war (wir verwenden es nicht stark) Ich würde in Betracht ziehen, so etwas zu tun – DannykPowell
Es ist nicht so groß wie die Codebasis nicht in _any_ eingewickelt ist Test-Coverage noch nicht. Die Chancen, einen Schlüssel zu verpassen, wo er zum Beispiel zusammengeheftet wurde, sind zu hoch. –
- 1. Gibt es einen Ccache für Visual Studio?
- 2. Gibt es einen Ersatz für unistd.h für Windows (Visual C)?
- 3. Gibt es einen Visual Basic 6-Decompiler?
- 4. Gibt es einen T4 Editor für Visual Studio 2010 CTP2?
- 5. Gibt es einen Visual Studio Build Profiler?
- 6. Gibt es einen Modus für Visual Basic (VB6) in Emacs?
- 7. Gibt es einen Open Source C Visual Debugger für Windows?
- 8. Gibt es einen interaktiven Interpreter für C#?
- 9. Fehlermeldung "Es gibt keine Eigenschaftenseiten für die Auswahl" Visual Studio
- 10. Gibt es eine Möglichkeit, einen besseren Browser für die Visual Studio (2008) Hilfe zu bekommen?
- 11. Gibt es einen Visual Basic .NET-Parser von CodeDom?
- 12. Ändert jemand den Visual Studio-Standardausrichtungsstil? - Gibt es einen Standard?
- 13. Visual Studio 2010 Datenbankprojekt, gibt es einen visuellen Weg?
- 14. Gibt es einen Fehler mit externen Vorlage in Visual C++?
- 15. Gibt es einen Standard für die Berechnung von SQL-Aggregatfunktionen?
- 16. Gibt es einen Standardplatz für die Versionsnummer im Quellcode?
- 17. Gibt es einen Algorithmus für die Zerlegung von Zahlen?
- 18. Gibt es Entwicklungsmuster, die einen IntentService für Netzwerkanforderungen ersetzen können?
- 19. Gibt es einen gültigen Grund für die Code-Duplizierung?
- 20. Gibt es einen Rückruf für die Facebook Fanseite wie Schaltfläche?
- 21. Gibt es einen besten .NET-Algorithmus für die Kreditkartenverschlüsselung?
- 22. Gibt es einen Operator für die Funktionszusammensetzung in Julia?
- 23. Plone5: Gibt es einen Handler für die Passwortänderung
- 24. Gibt es einen Rückruf für die io.connect() -Methode in Socket.IO?
- 25. Gibt es einen Styleguide für die Entwicklung von SWT-Anwendungen?
- 26. Gibt es einen Java-Parser für die Java-Sprache?
- 27. Gibt es einen Standardstil für die Dokumentation in PHP?
- 28. Gibt es immer einen Rückruf für die Funktion Ember.js?
- 29. Python: Gibt es einen Nachteil für die Verwendung von Fehlerbehandlung?
- 30. Gibt es einen HttpControllerBuilder für die ASP.NET-Web-API?
Haben Sie erkennen, dass, wenn Sie einen Haltepunkt können Sie einfach das Direkt-Debugger-Fenster und geben ‚Page.Session‘ bringen es zu sehen? – slugster
Ja. Ich hatte auf einen Visualizer gehofft, der mir eine strukturierte Sicht auf jedes in der Sitzung anwesende Objekt zeigen würde, auf eine magische Art und Weise, die es nicht erforderte, die Schlüssel, an denen ich interessiert war, zu beobachten. tief verschachtelten Legacy-Code zu entwickeln und einen Haltepunkt zu setzen, an dem ich interessiert bin, aber nicht bei jedem Session-Zugriff. –