diff --git a/IoTSharp/Extensions/IoTSharpExtension.cs b/IoTSharp/Extensions/IoTSharpExtension.cs index 3643b853d773b1c8037974887b4e9b775cc19ef9..1ede77f9c14debfb83d7753a6e8ddd1f1fdaf2c3 100644 --- a/IoTSharp/Extensions/IoTSharpExtension.cs +++ b/IoTSharp/Extensions/IoTSharpExtension.cs @@ -33,6 +33,8 @@ using System.Text; using System.Text.RegularExpressions; using IoTSharp.Extensions.X509; using IoTSharp.Storage; +using ShardingCore; +using Microsoft.Extensions.Options; namespace IoTSharp { @@ -356,10 +358,16 @@ namespace IoTSharp internal static void UseTelemetryStorage(this IApplicationBuilder app) { + var options = app.ApplicationServices.GetRequiredService>(); + var settings = options.Value; + if (settings.TelemetryStorage == TelemetryStorage.Sharding) + { + app.ApplicationServices.UseAutoTryCompensateTable(); + } using (var scope = app.ApplicationServices.CreateScope()) { var _ts_storage = scope.ServiceProvider.GetService(); - _ts_storage.CheckTelemetryStorage(); + _ts_storage.CheckTelemetryStorage(); } } } diff --git a/IoTSharp/Startup.cs b/IoTSharp/Startup.cs index f3c5febd23a6949b7c67f09590167cde1e2332c3..2c50c84a53662ffe6cbb18e055c6a2f7bfeca6e3 100644 --- a/IoTSharp/Startup.cs +++ b/IoTSharp/Startup.cs @@ -300,11 +300,7 @@ namespace IoTSharp } app.CheckApplicationDBMigrations(); //添加定时任务创建表 - var settings = Configuration.Get(); - if (settings.TelemetryStorage == TelemetryStorage.Sharding) - { - app.ApplicationServices.UseAutoTryCompensateTable(); - } + app.UseRouting(); app.UseCors(option => option .AllowAnyOrigin()