TableLogger.cs抛出Storageexception 409冲突

时间:2018-01-23 06:26:14

标签: c# botframework azure-table-storage

大家好我使用TableLogger.cs实现将对话历史记录到azure表存储。首先在我的机器人模拟器上启动它会顺利运行但是在你停止并重新运行之后,它将遇到storageexception 409冲突错误。

TableLogger.cs: enter image description here

内部例外: enter image description here

我很困惑,如果表已经存在,则会发生409冲突错误,如果无法处理此类情况,那么createifnotexists方法的目的是什么?我怎么解决这个问题?感谢

我在我的global.asax上使用此代码来保存用户和机器人的botdata和对话历史记录,它使用tablelogger.cs实现。

Global Asax:

  var tableName = ConfigurationManager.AppSettings["TableName"].ToString();
        var account = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);

        //Azure StateData
        Conversation.UpdateContainer(
            builder =>
            {
                //azure botdata
                builder.RegisterModule(new AzureModule(Assembly.GetExecutingAssembly()));
                var store = new TableBotDataStore(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
                builder.Register(c => store)
                   .Keyed<IBotDataStore<BotData>>(AzureModule.Key_DataStore)
                   .AsSelf()
                   .SingleInstance();
                //azure conversation history
                account.CreateCloudTableClient().GetTableReference(tableName).DeleteIfExists();
                builder.RegisterModule(new TableLoggerModule(account, tableName));
            });

0 个答案:

没有答案