Wie Größe der Sitzung in ASP.NET aus Webanwendung herausfinden?Wie kann ich die Größe einer Sitzung in ASP.NET aus einer Webanwendung ermitteln?
Antwort
Wenn Sie versuchen, die Größe der Session während der Laufzeit zu bekommen, anstatt im Debug-Tracing, möchten Sie vielleicht etwas versuchen:
long totalSessionBytes = 0;
BinaryFormatter b = new BinaryFormatter();
MemoryStream m;
foreach(var obj in Session)
{
m = new MemoryStream();
b.Serialize(m, obj);
totalSessionBytes += m.Length;
}
(Inspiriert von http://www.codeproject.com/KB/session/exploresessionandcache.aspx)
Ich denke, Sie können diese Informationen finden, indem Sie Trace = "true" auf die Seiten-Direktive einer Aspx-Seite hinzufügen. Dann, wenn die Seite geladen wird, können Sie eine große Anzahl von Details bezüglich der Seitenanfrage sehen, einschließlich Sitzungsinformationen, denke ich.
Sie können die Ablaufverfolgung auch in Ihrer gesamten Anwendung aktivieren, indem Sie der Datei web.config eine Zeile hinzufügen. Etwas wie:
<trace enabled="true" requestLimit="10" pageOutput="true" traceMode="SortByTime"
localOnly="true"/>
Der Code in der Antwort oben gab mir die gleiche Nummer. Hier ist der Code, der endlich für mich funktioniert hat:
private void ShowSessionSize()
{
Page.Trace.Write("Session Trace Info");
long totalSessionBytes = 0;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter b =
new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
System.IO.MemoryStream m;
foreach (string key in Session)
{
var obj = Session[key];
m = new System.IO.MemoryStream();
b.Serialize(m, obj);
totalSessionBytes += m.Length;
Page.Trace.Write(String.Format("{0}: {1:n} kb", key, m.Length/1024));
}
Page.Trace.Write(String.Format("Total Size of Session Data: {0:n} kb",
totalSessionBytes/1024));
}
- 1. Wie kann ich die Größe des Rands einer Ansicht ermitteln?
- 2. Die Größe einer Listenansicht ermitteln
- 3. Wie kann ich AppSettings in einer ASP.NET MVC-Webanwendung anzeigen?
- 4. Ermitteln einer "aktiven" Benutzeranzahl einer ASP.NET-Site
- 5. Maximale Größe einer PHP-Sitzung
- 6. Zugriff auf Sitzung einer anderen Webanwendung
- 7. Wie kann ich die Datei und die Zeilennummer einer C# -Methode aus einer Symboldatei (.pdb) ermitteln?
- 8. In einer Webanwendung ist die aktuelle Sitzung null, wenn die Fehlermeldung "Ressource kann nicht gefunden werden"
- 9. So ermitteln Sie die Größe einer Zeichenfolge bei einer Schriftart
- 10. Bereitstellen einer ASP.NET-Webanwendung in einem Intranet
- 11. Wie kann ich den SelectedValue einer RadioButtonList in JavaScript ermitteln?
- 12. Code-Instrumentierung in einer ASP.NET-Webanwendung
- 13. Wie kann ich mehrere Logins in einer Django-Webanwendung von verschiedenen Standorten aus erkennen?
- 14. Erstellen einer Sitzung in ASP.NET MVC
- 15. Ermitteln der Größe einer BLOB-Spalte
- 16. Kann ich die iCloud-API in einer Webanwendung verwenden?
- 17. Erstellen einer skalierbaren ASP.NET MVC-Webanwendung
- 18. Wie kann ich die Barrierefreiheit einer MemberInfo-Instanz ermitteln?
- 19. Ermitteln der Größe einer polymorphen C++ - Klasse
- 20. Wie kann ich den Inhaltstyp einer Datei in .NET ermitteln?
- 21. Wie kann ich eine "System.Security.SecurityException" in einer Azure-Webanwendung beheben?
- 22. Wie kann ich eine Sitzung in einer ASP-Klassendatei verwenden?
- 23. Wie kann ich ein ziehbares Element in einer Webanwendung erstellen?
- 24. Wie kann ich eine HTTPS-Anmeldeseite in einer Webanwendung implementieren?
- 25. Wie kann ich Push-Benachrichtigungen in einer HTML5-Webanwendung ausführen?
- 26. Java URLConnection: Wie kann ich die Größe einer Webdatei herausfinden?
- 27. Umschreiben einer URL in einer Azure-Webanwendung
- 28. Ermitteln der Byte-Größe einer scipy.sparse-Matrix?
- 29. Wie kann ich die Position einer XML-Instanz in einer XMLList in ActionScript3 ermitteln?
- 30. Größe des Bildes auf einer Webseite ermitteln
Danke. Das war, was ich brauchte. – GrZeCh
Ich musste folgende Änderungen vornehmen: long totalSessionBytes = 0; seit m.Length gibt eine lange zurück. Aber abgesehen davon ist es ein nettes, prägnantes Stück Code! Die Schleife kann auch foreach sein. ;-) – Oliver
@Oliver Danke für die Rückmeldung. Ich habe die von Ihnen vorgeschlagenen Anpassungen vorgenommen. Sieht jetzt ein bisschen schöner aus. – ddc0660