Freigeben über


BotState class

Basisklasse für die Frameworks-Status-Persistancebereiche.

Hinweise

Diese Klasse liest und schreibt den Zustand eines bereitgestellten Speicheranbieters für jede Unterhaltung mit einem Benutzer. Abgeleitete Klassen, z. B. ConversationState und UserState, stellen eine StorageKeyFactory bereit, die verwendet wird, um den Schlüssel zu bestimmen, der zum Speichern eines bestimmten Speicherobjekts verwendet wird.

Das geladene Zustandsobjekt wird automatisch für das Kontextobjekt für die Lebensdauer des Turnes zwischengespeichert und nur dann in den Speicher geschrieben, wenn es geändert wurde.

Konstruktoren

BotState(Storage, StorageKeyFactory)

Erstellt eine neue BotState-Instanz.

Methoden

clear(TurnContext)

Löscht das aktuelle Zustandsobjekt für eine Drehung.

createProperty<T>(string)

Erstellt einen neuen Eigenschaftsaccessor zum Lesen und Schreiben einer einzelnen Eigenschaft in das Bot-Statusspeicherobjekt.

delete(TurnContext)

Löschen Sie das Sicherungsstatusobjekt für die aktuelle Drehung.

get(TurnContext)

Gibt ein zwischengespeichertes Statusobjekt oder nicht definiert zurück, wenn es nicht zwischengespeichert wurde.

load(TurnContext, boolean)

Liest das Sicherungszustandsobjekt für eine Drehung in und speichert es zwischen.

saveChanges(TurnContext, boolean)

Speichert das zwischengespeicherte Zustandsobjekt, wenn es geändert wurde.

Details zum Konstruktor

BotState(Storage, StorageKeyFactory)

Erstellt eine neue BotState-Instanz.

new BotState(storage: Storage, storageKey: StorageKeyFactory)

Parameter

storage
Storage

Speicheranbieter, um das Statusobjekt beizubehalten.

storageKey
StorageKeyFactory

Funktion, die immer dann aufgerufen wird, wenn der Speicherschlüssel für eine bestimmte Drehung berechnet werden muss.

Details zur Methode

clear(TurnContext)

Löscht das aktuelle Zustandsobjekt für eine Drehung.

function clear(context: TurnContext): Promise<void>

Parameter

context
TurnContext

Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.

Gibt zurück

Promise<void>

Eine Zusage, die den asynchronen Vorgang darstellt.

Hinweise

Das gelöschte Zustandsobjekt wird erst beibehalten, wenn saveChanges() aufgerufen wurde.

await botState.clear(context);
await botState.saveChanges(context);

createProperty<T>(string)

Erstellt einen neuen Eigenschaftsaccessor zum Lesen und Schreiben einer einzelnen Eigenschaft in das Bot-Statusspeicherobjekt.

function createProperty<T>(name: string): StatePropertyAccessor<T>

Parameter

name

string

Der Name der hinzuzufügenden Eigenschaft.

Gibt zurück

Ein Accessor für die Eigenschaft.

delete(TurnContext)

Löschen Sie das Sicherungsstatusobjekt für die aktuelle Drehung.

function delete(context: TurnContext): Promise<void>

Parameter

context
TurnContext

Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.

Gibt zurück

Promise<void>

Eine Zusage, die den asynchronen Vorgang darstellt.

Hinweise

Das Statusobjekt wird aus dem Speicher entfernt, wenn es vorhanden ist. Wenn das Statusobjekt gelesen und zwischengespeichert wurde, wird der Cache gelöscht.

await botState.delete(context);

get(TurnContext)

Gibt ein zwischengespeichertes Statusobjekt oder nicht definiert zurück, wenn es nicht zwischengespeichert wurde.

function get(context: TurnContext): any | undefined

Parameter

context
TurnContext

Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.

Gibt zurück

any | undefined

Ein zwischengespeichertes Statusobjekt oder nicht definiert, wenn es nicht zwischengespeichert wird.

Hinweise

In diesem Beispiel wird gezeigt, wie Sie synchron ein bereits geladenes und zwischengespeichertes Zustandsobjekt abrufen:

const state = botState.get(context);

load(TurnContext, boolean)

Liest das Sicherungszustandsobjekt für eine Drehung in und speichert es zwischen.

function load(context: TurnContext, force?: boolean): Promise<any>

Parameter

context
TurnContext

Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.

force

boolean

(Optional) Wenn true der Cache umgangen wird und der Zustand immer direkt aus dem Speicher gelesen wird. Standardmäßig wird false.

Gibt zurück

Promise<any>

Der zwischengespeicherte Zustand.

Hinweise

Nachfolgende Lesevorgänge geben das zwischengespeicherte Objekt zurück, es sei denn, das force Flag wird übergeben, in dem das Zustandsobjekt erneut gelesen werden muss.

Diese Methode wird automatisch für den ersten Zugriff einer erstellten Eigenschaftsaccessoren aufgerufen.

const state = await botState.load(context);

saveChanges(TurnContext, boolean)

Speichert das zwischengespeicherte Zustandsobjekt, wenn es geändert wurde.

function saveChanges(context: TurnContext, force?: boolean): Promise<void>

Parameter

context
TurnContext

Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.

force

boolean

(Optional) wenn true der Zustand unabhängig vom Änderungszustand immer ausgeschrieben wird. Standardmäßig wird false.

Gibt zurück

Promise<void>

Eine Zusage, die den asynchronen Vorgang darstellt.

Hinweise

Wenn das force Flag im zwischengespeicherten Zustandsobjekt übergeben wird, unabhängig davon, ob es geändert wurde oder nicht, und wenn kein Objekt zwischengespeichert wurde, wird ein leeres Objekt erstellt und dann gespeichert.

await botState.saveChanges(context);