1
Я работаю над базовыми технологиями ботов, в одном из моих проектов я хочу обновить приведенные ниже строки кода с версии 1 до версии 3.Как создать клиентские объекты StateClient или Connector в других контроллерах, кроме Message Controller?
var client = new ConnectorClient();
var getData = await client.Bots.GetUserDataAsync(Constants.botId, userid);
getData.Data = ar.Serialize();
var foo = await client.Bots.SetUserDataAsync(Constants.botId, userid, getData);
Скажите, пожалуйста, как решить эту проблему.
-Pradeep
вы должны написали выше код в MessagesController, но я хочу тот же код в другом контроллере например LoginController. В MessageController работает нормально, потому что у него есть ссылка на активность, но когда я пытаюсь создать объект stateclient в LoginController, всегда будет Null. – pradeep
Чтобы создать правильный экземпляр StateClient, вам потребуется либо ** MicrosoftAppCredentials **, либо ** Service Url **. Таким образом, вам не нужна сама деятельность. 'var stateClient = новый StateClient (новый Uri (serviceUrl));' Наконец, чтобы получить доступ к пользовательским данным, вам необходимо иметь userId и соответствующий channelId. Похоже, что версия 1 не отличалась между каналами при поиске пользователя. 'var data = await stateClient.BotState.GetUserDataAsync (channelid, userid);' – toastedtoast
как создать объект StateClient с помощью MicrosoftAppCredentials, а также сообщить, что такое serviceUrl. – pradeep