Как использовать мой .NET Chatbot для ответов на вопросы, основанные на запросах к базе данных SQL Azure? - PullRequest
0 голосов
/ 26 марта 2019

Я могу подключиться к базе данных Azure SQL и запросить ее через мой чат-бот в эмуляторе Bot Framework, однако при его развертывании в Azure он вообще не работает.

Я создал чат-бота и использовал шаблон Microsofts Enterprise Bot в качестве отправной точки.

Мне удалось подключить его к моей собственной базе знаний и модели Луиса, и я также отправляю штраф между ними. Мне также удалось включить аутентификацию пользователей и потоки MS.

Я развернул его в Azure, и все функции и диалоги работали в функции веб-чата на портале.

Я также создал базу данных sql, размещенную в Azure, и запрашиваю ее через чат-бота. Я подключаюсь к базе данных, как показано ниже:

    public DataRow[] GetAllValues()
    {
        DataTable Library = new DataTable();
        DataRow[] foundRows;

        using (var connection = new SqlConnection(
          "Server=tcp:<MY_SERVER_NAME>,1433;" +
          "Database=<MY_DATABASE>;User ID=<My_USERNAME>;" +
          "Password=<MY_PASSWORD>;Encrypt=True;" +
          "TrustServerCertificate=False;Connection Timeout=30;"
          ))
        {
            connection.Open();

            using (var command = new SqlCommand())
            {
                command.Connection = connection;
                command.CommandType = CommandType.Text;
                command.CommandText = $"SELECT * FROM <MY_TABLE>";
                SqlDataAdapter da = new SqlDataAdapter(command);
                da.Fill(Library);

                foundRows = Library.Select();

                return foundRows;
            }
        }
    }

Все функции этой работы, когда я тестирую ее на эмуляторе, и она отвечает точно так, как я хочу.

Однако, когда я развертываю его в Azure, бот больше не работает ни в какой форме, форма приветствия больше не появляется.

Это единственное место в моем коде, где я ссылаюсь на соединение с базой данных, нужно ли мне ссылаться на него где-то еще, или есть другая проблема?

Ответы [ 2 ]

1 голос
/ 26 марта 2019

Я предполагаю, что это новый бот веб-приложения, который вы развернули в Azure.При первом развертывании существует несколько общих проблем.

Сначала убедитесь, что вы удалили дополнительные файлы в Azure.Это должно быть опцией в вашем профиле публикации.enter image description here

Во-вторых, я бы удалил настройки приложения на портале Azure, ссылаясь на путь к файлу бота, секрет и другие, которые вы настроили в вас appsettings.json.

0 голосов
/ 02 мая 2019

После того как ваш microsoftappid подтвердил правильность пароля microsoftapp, вы можете попробовать отладить код локально, но с использованием реального канала (тестирование в веб-чате, командах и т. Д.), Используя NGrok .Если это работает, а повторная публикация не работает, используйте колонку каналов на портале, чтобы увидеть, можете ли вы выявить какие-либо проблемы в столбце «здоровье».Кроме того, вы можете добавить stdoutLogEnabled = "true" в файл конфигурации и затем использовать Kudu для просмотра журналов.

...