ошибка 500 после подключения чат-бота к космосу БД - PullRequest
0 голосов
/ 11 июня 2018

У меня проблема после подключения моего Azure ChatBot к Azure Cosmos db, я попытался запустить мой онлайн-редактор и визуальную студию локально, но это не работает на обеих платформах.

ошибка здесь:

System.TypeLoadException
Could not resolve type with token 01000060 (from typeref, class/assembly System.Diagnostics.Eventing.EventProviderTraceListener, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
Description: HTTP 500.Error processing request.

Details: Non-web exception. Exception origin (name of application or object): Microsoft.Azure.Documents.Client.

Код:

protected void Application_Start()
{

 var uri = new Uri(ConfigurationManager.AppSettings["DocumentDbUrl"]);
    var key = ConfigurationManager.AppSettings["DocumentDbKey"];
    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();

                });
}

1 Ответ

0 голосов
/ 11 июня 2018

Глядя на пример здесь: https://github.com/Microsoft/BotBuilder-Azure/blob/master/CSharp/Samples/DocumentDb/Global.asax.cs Это также регистрация AzureModule.Вы пробовали это?

Conversation.UpdateContainer(
    builder =>
    {
        builder.RegisterModule(new AzureModule(Assembly.GetExecutingAssembly()));

        var store = new DocumentDbBotDataStore(docDbEmulatorUri, docDbEmulatorKey);

        builder.Register(c => store)
            .Keyed<IBotDataStore<BotData>>(AzureModule.Key_DataStore)
            .AsSelf()
            .SingleInstance();

        // Register your Web API controllers.
        builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
        builder.RegisterWebApiFilterProvider(config);

    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...