Состояние поворота - это TurnContextStateCollection
, тип, производный от Dictionary<string, object>
. Таким образом, вы можете использовать его как словарь. В SDK данные обычно хранятся в порядке очереди с использованием Add
, поскольку SDK записывается только для однократного добавления данных. Если вы попытаетесь использовать Add
, когда данные уже присутствуют, это вызовет исключение. Если вы хотите убедиться, что данные присутствуют в состоянии поворота, и вы не знаете, там они уже есть или нет, вы можете использовать Set
. Это то же самое, что и использование средства доступа set индексатора:
turnContext.TurnState["dummy"] = "data";
Вы можете получить к нему доступ из промежуточного программного обеспечения, используя Get
или снова используя индексатор:
var dummy = turnContext.TurnState["dummy"];
Обратите внимание, что TurnContextStateCollection
предоставляет общие c методы для удобства, так что если вы сохраняете только один объект заданного типа в состоянии поворота, вам не нужен ключ для его получения или установки. Ключ генерируется автоматически из имени типа.
turnContext.TurnState.Set(new DummyData());
var dummy = turnContext.TurnState.Get<DummyData>();