Frage

Sie müssen über etwas Hilfe bitten.

Ich habe Web-App im Net 2.0 läuft.
Ich möchte fragen, welche Speicher (Cache, Sitzung, Datei) Ich sollte für meine Objekte verwenden, wie sie der Verwendung unterschiedlicher Tragweite haben. Kann teilen sich in mehrere Gruppen sein:
1) Objekte direkt zu Besuchern (z Details über Besucher verbunden, dass nach der Authentifizierung empfangen werden)
2) Objekte, die für jeden Besucher verwendet werden, so dass ihr Anwendungsbereich (einige init Daten, gemeinsamer Daten)

Die meisten dieser Objekte erhalten Daten aus Web-Service, was teuer ist.

Also, was ist meine beste Wahl unter Berücksichtigung Geschwindigkeit, Speicher, Zugänglichkeit und was soll ich sonst noch achten ist.

Jede Hilfe sehr willkommen. Danke, X.

War es hilfreich?

Lösung

  1. Objekte direkt an die Besucher im Zusammenhang sollte in Session gespeichert werden, obwohl übermäßige Verwendung von Session und viele Benutzer zu Skalierbarkeitsprobleme führen kann.

  2. Objekte, die für jeden visitory geteilt werden sollten in Cache gespeichert werden, so dass sie den Gültigkeitsbereich verlassen werden, wenn sie oft nicht zugegriffen werden, so dass Speicher zurückgewonnen werden (nicht den zusätzlichen Anreiz von Abhängigkeiten zu nennen). In Szenarien, in denen Sie ein Objekt wissen sofort zugänglich sein müssen, egal wie viel Zeit zwischen der letzten Zeit vergangen ist, auf sie zugegriffen wurde, dann sollten Sie das Objekt in Application speichern.

Andere Tipps

Artikel 1 -. Session würde höchstwahrscheinlich die beste, da es pro Benutzer ist jedoch sicher sein, die Anzahl der Elemente dort zu begrenzen, wie es die Skalierung Probleme und Überlegungen, wenn in einer Web-Farm

Artikel 2 - Je nachdem, was Sie brauchen, würde dies einen Cache oder Anwendungsebene Element, das Sie hinzufügen möchten, je nach Bedarf nach Ablauf usw. Der wesentliche Unterschied ist, Cache Ablauf und Nutzen Ihrer persönlichen Gegenstände, die sie entfernen können, Anwendung ist für Dinge, die immer dort bleiben.

Insgesamt in einer Web-Anwendung, die ich stark gegen Dateien empfehlen, da dann muss man über Gewinde saftey kümmern.

Objekte relativ pro Besucher sollte in Session gespeichert werden. Das ist einmalig pro Besucher, neigt aber häufig gespült zu werden, kann dies auch schlecht skaliert, wenn Sie eine Umgebung mit mehreren Servern zu bewegen.

Objekte in Bezug auf die Anwendung als Ganze in dem ASP.NET-Cache gespeichert werden soll.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top