Interface IStaticCache<TObj, TPK>
Schnittstelle eines statischen Caches für Elemente vom Typ TObj, die über den Primärschlüssel vom Typ TPK eindeutig identifiziert werden können. Der Cache implementiert IEnumerable<TObj>. Der Cache ist NICHT Thread-Save. Methoden dürfen nur aus dem Thread des übergebenen GlobalObjects heraus aufgerufen werden.
Namespace: FS.Hosting.Shared
Assembly: FS.Hosting.Shared.dll
Syntax
[DocfxBrowsable]
public interface IStaticCache<TObj, TPK> : IEnumerable<TObj>, IEnumerable where TObj : IDevFrameworkObject
Type Parameters
Name | Description |
---|---|
TObj | Interface-Typ der Components, welche vom Cache verwaltet werden. |
TPK | Typ des/der Primärschlüssel-Properties. Bei mehreren Properties System.ValueTuple der Properties in alphabetischer Reihenfolge. |
Properties
Global
Item[TPK]
Wenn der Cache zum angegebenen Primärschlüssel (pk) einen Datensatz enthält, wird aus diesem ein Objekt erzeugt, daran die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad aufgerufen und das Objekt zurückgegeben, sonst null.
lngMaxAgeSeconds
Zeitraum seit dem letzten befüllen des Caches aus der Datenbank in Sekunden, nach deren Verstreichen der Cache als veraltet gilt und daher bei lesenden Anfragen zunächst seine Daten erneut aus der Datenbank befüllt.
Methods
ContainsKey(TPK)
Liefert true, wenn der übergebene Schlüssel in dem Cache bereits existiert; andernfalls false.
FillCollection<TColl>(TColl)
Leert und befüllt die übergebene Collection mit allen Datensätzen aus dem Cache. Dabei wird an der Collection und an allen Objekten die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad aufgerufen. Die Collection muss für Objekte vom Typ TObj definiert sein. Die Methode gibt die Anzahl der Datensätze zurück.
FillCollection<TColl>(TColl, Func<TObj, Boolean>)
Leert und befüllt die übergebene Collection mit allen Datensätzen aus dem Cache, die der angegebenen Where-Bedingung entsprechen. Dabei wird an der Collection und an allen Objekten die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad aufgerufen. Die Where-Bedingung wird vor dem Aufruf der Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad der Objekte ausgewertet. Die Collection muss für Objekte vom Typ TObj definiert sein. Die Methode gibt die Anzahl der Datensätze zurück.
FillCollection<TColl>(TColl, Func<TObj, Boolean>, Func<IEnumerable<TObj>, IEnumerable<TObj>>)
Leert und befüllt die übergebene Collection unter Berücksichtigung der angegebenen Sortierung, mit allen Datensätzen aus dem Cache, die der angegebenen Where-Bedingung entsprechen. Dabei wird an der Collection und an allen Objekten die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad aufgerufen. Die Where-Bedingung und die Sortierung werden vor dem Aufruf der Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad der Objekte ausgewertet. Die Collection muss für Objekte vom Typ TObj definiert sein. Die Methode gibt die Anzahl der Datensätze zurück.
FillCollection<TColl>(TColl, Func<IEnumerable<TObj>, IEnumerable<TObj>>)
Leert und befüllt die übergebene Collection mit allen Datensätzen aus dem Cache unter Berücksichtigung der angegebenen Sortierung. Dabei wird an der Collection und an allen Objekten die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad aufgerufen. Die Sortierung wird vor dem Aufruf der Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad der Objekte durchgeführt. Die Collection muss für Objekte vom Typ TObj definiert sein. Die Methode gibt die Anzahl der Datensätze zurück.
FillObject(TObj, TPK)
Füllt das Objekt mit dem per Primärschlüssel referenzierten Datensatz, wenn dieser existiert, sonst mit einem leeren Objekt. Die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad wird nur im ersten Fall aufgerufen. Die Methode gibt 1 zurück, wenn der Datensatz gefunden wurde, sonst 0.
FillObject(TObj, TPK, Func<TObj, Boolean>)
Füllt das Objekt mit dem per Primärschlüssel referenzierten Datensatz, wenn dieser existiert und die übergebene Where-Einschränkung erfüllt, sonst mit einem leeren Objekt. Die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad wird nur im ersten Fall aufgerufen. Die Methode gibt 1 zurück, wenn der Datensatz gefunden wurde, sonst 0.
FillObject(TObj, Func<TObj, Boolean>)
Füllt das Objekt mit dem ersten Datensatz, welcher die übergebene Where-Einschränkung erfüllt, soweit einer existiert, sonst mit einem leeren Objekt. Die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad wird nur im ersten Fall aufgerufen. Die Methode gibt 1 zurück, wenn ein Datensatz gefunden wurde, sonst 0.
FillObject(TObj, Func<TObj, Boolean>, Func<IEnumerable<TObj>, IEnumerable<TObj>>)
Füllt das Objekt mit dem ersten Datensatz, welcher die übergebene Where-Einschränkung erfüllt (unter Berücksichtigung der angegebenen Sortierung), soweit einer existiert, sonst mit einem leeren Objekt. Die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad wird nur im ersten Fall aufgerufen. Die Methode gibt 1 zurück, wenn ein Datensatz gefunden wurde, sonst 0.
FillObject(TObj, Func<IEnumerable<TObj>, IEnumerable<TObj>>)
Füllt das Objekt mit dem ersten Datensatz in der angegebenen Sortierung, soweit einer existiert, sonst mit einem leeren Objekt. Die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad wird nur im ersten Fall aufgerufen. Die Methode gibt 1 zurück, wenn ein Datensatz gefunden wurde, sonst 0.
Invalidate()
Markiert alle Daten des Caches als veraltet, sodass diese beim nächsten Zugriff neu von der Datenbank gelesen werden müssen.
ToCollection<TColl>()
Erzeugt eine Collection vom angegebenen Typ TColl und befüllt diese mit allen Datensätzen aus dem Cache. Dabei wird an der Collection und an allen Objekten die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad aufgerufen. Der Typ TColl muss für Objekte vom Typ TObj definiert sein.
ToCollection<TColl>(Func<TObj, Boolean>)
Erzeugt eine Collection vom angegebenen Typ TColl und befüllt diese mit allen Datensätzen aus dem Cache, die der angegebenen Where-Bedingung entsprechen. Dabei wird an der Collection und an allen Objekten die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad aufgerufen. Der Typ TColl muss für Objekte vom Typ TObj definiert sein.
ToCollection<TColl>(Func<TObj, Boolean>, Func<IEnumerable<TObj>, IEnumerable<TObj>>)
Erzeugt eine Collection vom angegebenen Typ TColl und befüllt diese, unter Berücksichtigung der angegebenen Sortierung, mit allen Datensätzen aus dem Cache, die der angegebenen Where-Bedingung entsprechen. Dabei wird an der Collection und an allen Objekten die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad aufgerufen. Der Typ TColl muss für Objekte vom Typ TObj definiert sein.
ToCollection<TColl>(Func<IEnumerable<TObj>, IEnumerable<TObj>>)
Erzeugt eine Collection vom angegebenen Typ TColl und befüllt diese, unter Berücksichtigung der angegebenen Sortierung, mit allen Datensätzen aus dem Cache. Dabei wird an der Collection und an allen Objekten die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad aufgerufen. Der Typ TColl muss für Objekte vom Typ TObj definiert sein.
TryGet(TPK, out TObj)
Wenn der Cache zum angegebenen Primärschlüssel (pk) einen Datensatz enthält, wird dazu ein Objekt erzeugt, daran die Methode FS.Hosting.Shared.DevFrameworkBaseObject.OnAfterLoad aufgerufen, das Objekt der out-Variable "value" zugeordnet und "true" zurück gegeben. Andernfalls ist "value" null und es wird "false" zurück gegeben.