从 .net WebService 访问 Lex Chat bot

Access Lex Chat bot from .net WebService

我在 AWS 服务下创建了一个 Lex Chatbot。使用测试聊天机器人会话也对其进行了测试。

我想在 .net 上创建一个 Web 服务,它可以作为 Intent/Messages 发送请求并从同一个 amazon lex 聊天机器人获得响应。

最后,我使用 nuget 包 Amazon.lex 模型完成了这项工作。下面是用于从我的 AWS 聊天机器人

获取响应的控制台应用程序
        Amazon.Lex.Model.PostTextRequest amazonPostRequest = new 
        Amazon.Lex.Model.PostTextRequest();
        amazonPostRequest.BotAlias = "BookATrip_VFirst";
        amazonPostRequest.BotName = "BookATrip_VFirst";
        amazonPostRequest.UserId = "BotAccessRestAPI";
        amazonPostRequest.InputText = "book a car";


        AmazonLexClient amazonLexClient = new AmazonLexClient("AKIA25U6KRJ7AO7MODNQ", "khAIm2l1zK94zUCeG+Gg/oACIIgCAKLBkEJUAEl2", Amazon.RegionEndpoint.USEast1);

        Task<PostTextResponse> amazonPostResponse = amazonLexClient.PostTextAsync(amazonPostRequest);
        //Task<IAmazonLex> AmazonLexResponse = amazonLexClient.PostTextAsync(amazonPostRequest);
        while (amazonPostResponse.Status!=TaskStatus.RanToCompletion)
        {
            //just to wait for response
            Console.WriteLine(amazonPostResponse);
            Console.ReadLine();
        }
        //Console.WriteLine(amazonPostResponse.Result.ContentLength);
        //Console.WriteLine(amazonPostResponse.Result.DialogState);
        Console.WriteLine(amazonPostResponse.Result.HttpStatusCode);
        Console.WriteLine(amazonPostResponse.Result.IntentName);
        Console.WriteLine(amazonPostResponse.Result.Message);
        Console.WriteLine(amazonPostResponse.Result.MessageFormat);
        Console.WriteLine(amazonPostResponse.Result.SessionAttributes);
        Console.WriteLine(amazonPostResponse.Result.SessionId);
        Console.ReadLine();