Я выполняю проверку запроса, которая требуется для функционального теста навыка alexa перед тем, как запустить его в действие. Я реализовал код в C #, чтобы обеспечить проверку с использованием библиотеки Alexa.NET. Все работает нормально, кроме последней проверки, которая требует от пользователя проверки всего необработанного тела в соответствии с подписью из запроса. Хотя уже есть реализация для проверки данных в классе Alexa.NET.Request.RequestVerification, когда мое выполнение входит в эту часть, оно не выходит из него.
Если я не использую await и async, Alexa. NET.Request.RequestVerification.Verify возвращает Status = WaitingForActivation и Result как всегда FALSE.
Я искал вокруг и нашел только решения, чтобы сделать мой метод асинхронным и использовать await. Но ни один из них не выдвигает на первый план проблему, с которой я сталкиваюсь. После того, как мой метод был асинхронным, курсор отладки просто не вернется назад из выполнения.
private static async System.Threading.Tasks.Task<bool> IsRequestValidAsync(string signature, Uri signatureCertChainUrl, string body)
{
bool resultSet = await Alexa.NET.Request.RequestVerification.Verify(signature, signatureCertChainUrl, body);
return resultSet;
}
Alexa.NET.Request.RequestVerification.Verify должен вернуться обратно с некоторым значением.