Я новичок в Bot Framework и придерживаюсь передового опыта. Я пытался подключиться к базе данных Azure Cosmos для управления данными состояния.
Приведенный ниже код компилируется без каких-либо проблем, но как только я пытаюсь протестировать бота на экране Test Web Bot в Azure, он авторизуется с ботом, но не подключается, поэтому я не могу проверить подключение к базе данных.
Я разрабатывал бота, используя v3 SDK, и попытался изменить из коробки, удалив строку комментария относительно Cosmos DB, но это не удалось скомпилировать, поэтому возился с кодом ниже, который компилируется, но не запускает бота.
using System;
using Autofac;
using System.Web.Http;
using System.Configuration;
using System.Reflection;
using Microsoft.Bot.Builder.Azure;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Builder.Dialogs.Internals;
using Microsoft.Bot.Connector;
namespace SimpleEchoBot
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
// Bot Storage: This is a great spot to register the private state storage for your bot.
// We provide adapters for Azure Table, CosmosDb, SQL Azure, or you can implement your own!
// For samples and documentation, see: https://github.com/Microsoft/BotBuilder-Azure
var uri = new Uri(ConfigurationManager.AppSettings["uri"]);
var key = ConfigurationManager.AppSettings["accesskey"];
var store = new DocumentDbBotDataStore(uri, key);
Conversation.UpdateContainer(
builder =>
{
builder.Register(c => store)
.Keyed<IBotDataStore<BotData>>(AzureModule.Key_DataStore)
.AsSelf()
.SingleInstance();
builder.Register(c => new CachingBotDataStore(store, CachingBotDataStoreConsistencyPolicy.ETagBasedConsistency))
.As<IBotDataStore<BotData>>()
.AsSelf()
.InstancePerLifetimeScope();
});
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
}
Я ожидаю, что вывод будет таким, что бот инициализируется, но не может это сделать.