mysql8, .net7, при запуске в тестовой среде все работает корректно, но в среде разработки запуск постоянно завершается ошибкой. Похоже, что проблема связана с получением структуры таблиц, и пока не удалось найти решение.```Shell
[06:27:43 WRN] Включен логгирование чувствительных данных. Входные данные лога и сообщения об ошибках могут содержать чувствительные данные приложения; эта функция должна использоваться только в процессе разработки.
[06:27:44 INF] Выполнено DbCommand (13ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
SELECT CASE WHEN COUNT(*) = 0 THEN FALSE ELSE TRUE END
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_schema = 'les_archive2'
[06:28:15 FTL] Исключение при запуске приложения
System.AggregateException: Ошибка или ошибки произошли. (Время ожидания команды истекло до завершения операции.)
---> MySqlConnector.MySqlException (0x80004005): Время ожидания команды истекло до завершения операции.
---> MySqlConnector.MySqlException (0x80004005): Выполнение запроса было прервано
в MySqlConnector.Core.ResultSet.g__ScanRowAsyncAwaited|9_0(ResultSet resultSet, Task1 payloadTask, Row row, CancellationToken token) в /_/src/MySqlConnector/Core/ResultSet.cs:строка 244 в MySqlConnector.Core.ResultSet.<ScanRowAsync>g__ScanRowAsyncAwaited|9_0(ResultSet resultSet, Task
1 payloadTask, Row row, CancellationToken token) в //src/MySqlConnector/Core/ResultSet.cs:строка 252
в MySqlConnector.Core.ResultSet.ReadAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) в //src/MySqlConnector/Core/ResultSet.cs:строка 199
в MySqlConnector.Core.SchemaProvider.FillDataTableAsync(IOBehavior ioBehavior, DataTable dataTable, String tableName, List`1 columns, CancellationToken cancellationToken) в //src/MySqlConnector/Core/SchemaProvider.cs:строка 427
в MySqlConnector.Core.SchemaProvider.FillTablesAsync(IOBehavior ioBehavior, DataTable dataTable, String tableName, String[] restrictionValues, CancellationToken cancellationToken) в //src/MySqlConnector/Core/SchemaProvider.g.cs:строка 693
в MySqlConnector.Core.SchemaProvider.
в MySqlConnector.MySqlConnection.GetSchema(String collectionName) в /_/src/MySqlConnector/MySqlConnection.cs:строка 594
в ShardingCore.TableExists.MySqlTableEnsureManager.
```DoGetExistTables(DbConnection connection, String dataSourceName)
в ShardingCore.TableExists.GuessTableEnsureManager.DoGetExistTables(DbConnection connection, String dataSourceName)
в ShardingCore.TableExists.Abstractions.AbstractTableEnsureManager.GetExistTables(IShardingDbContext shardingDbContext, String dataSourceName)
в ShardingCore.DynamicDataSources.DataSourceInitializer.InitConfigure(String dataSourceName, Boolean createDatabase, Boolean createTable)
в ShardingCore.Extensions.ShardingRuntimeExtension. <>c__DisplayClass1_1. <ExecuteInitConfigureUnit>b__1()
в System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- Конец трассы стека исключения ---
в System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- Конец внутренней трассы стека исключения ---
в System.Threading.Tasks.Task.WaitAllCore(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
в System.Threading.Tasks.Task.WaitAll(Task[] tasks)
в ShardingCore.Extensions.ShardingRuntimeExtension.ExecuteInitConfigureUnit(IDataSourceInitializer dataSourceInitializer, List`1 initConfigureUnits)
в ShardingCore.Extensions.ShardingRuntimeExtension.UseAutoTryCompensateTable(IShardingRuntimeContext shardingRuntimeContext, Nullable`1 parallelCount)
в ShardingCore.ShardingCoreExtension.UseAutoTryCompensateTable(IServiceProvider serviceProvider, Nullable`1 parallelCount)
в SgmwLES.ArchiveService.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment env) в /src/src/SgmwLES.ArchiveService/Startup.cs:строка 228
в System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
в System.Reflection.MethodInvoker. Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
в System. Reflection. RuntimeMethodInfo. Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
в Microsoft. AspNetCore. Hosting. ConfigureBuilder. Invoke(Object instance, IApplicationBuilder builder)
в Microsoft. AspNetCore. Hosting. GenericWebHostService. StartAsync(CancellationToken cancellationToken)
Необработанное исключение. System. AggregateException: Ошибка или ошибки произошли. (Время ожидания команды истекло до завершения операции.)
---> MySqlConnector. MySqlException (0x80004005): Время ожидания команды истекло до завершения операции.
---> MySqlConnector. MySqlException (0x80004005): Выполнение запроса было прервано
в MySqlConnector. Core. ResultSet. <ScanRowAsync>g__ScanRowAsyncAwaited|9_0(ResultSet resultSet, Task`1 payloadTask, Row row, CancellationToken token) в /_/src/MySqlConnector/Core/ResultSet. cs:строка 244
в MySqlConnector. Core. ResultSet. <ScanRowAsync>g__ScanRowAsyncAwaited|9_0(ResultSet resultSet, Task`1 payloadTask, Row row, CancellationToken token) в /_/src/MySqlConnector/Core/ResultSet. cs:строка 252
в MySqlConnector. Core. ResultSet. ReadAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) в /_/src/MySqlConnector/Core/ResultSet. cs:строка 199
в MySqlConnector. Core. SchemaProvider. FillDataTableAsync(IOBehavior ioBehavior, DataTable dataTable, String tableName, List`1 columns, CancellationToken cancellationToken) в /_/src/MySqlConnector/Core/SchemaProvider. cs:строка 427
в MySqlConnector. Core. SchemaProvider. FillTablesAsync(IOBehavior ioBehavior, DataTable dataTable, String tableName, String[] restrictionValues, CancellationToken cancellationToken) в /_/src/MySqlConnector/Core/SchemaProvider. g. cs:строка 693
в MySqlConnector. Core. SchemaProvider. GetSchemaAsync(IOBehavior ioBehavior, String collectionName, String[] restrictionValues, CancellationToken cancellationToken) в /_/src/MySqlConnector/Core/SchemaProvider. g. cs:строка 61
в MySqlConnector. MySqlConnection. GetSchema(String collectionName) в /_/src/MySqlConnector/MySqlConnection. cs:строка 594
в ShardingCore. TableExists. MySqlTableEnsureManager.DoGetExistTables(DbConnection connection, String dataSourceName)
в ShardingCore.TableExists.GuessTableEnsureManager.DoGetExistTables(DbConnection connection, String dataSourceName)
в ShardingCore.TableExists.Abstractions.AbstractTableEnsureManager.GetExistTables(IShardingDbContext shardingDbContext, String dataSourceName)
в ShardingCore.DynamicDataSources.DataSourceInitializer.InitConfigure(String dataSourceName, Boolean createDatabase, Boolean createTable)
в ShardingCore.Extensions.ShardingRuntimeExtension.<>c__DisplayClass1_1.<ExecuteInitConfigureUnit>b__1()
в System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
(Поток threadPoolThread, Контекст выполнения executionContext, Контекстный вызов callback, Состояние state)
---
Конец трассировки стека с предыдущего местоположения
---
в System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
---
Конец внутренней трассировки стека
---
в System.Threading.Tasks.Task.WaitAllCore(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
в System.Threading.Tasks.Task.WaitAll(Task[] tasks)
в ShardingCore.Extensions.ShardingRuntimeExtension.ExecuteInitConfigureUnit(IDataSourceInitializer dataSourceInitializer, List`1 initConfigureUnits)
в ShardingCore.Extensions.ShardingRuntimeExtension.UseAutoTryCompensateTable(IShardingRuntimeContext shardingRuntimeContext, Nullable`1 parallelCount)
в ShardingCore.ShardingCoreExtension.UseAutoTryCompensateTable(IServiceProvider serviceProvider, Nullable`1 parallelCount)
в SgmwLES.ArchiveService.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment env) в /src/src/SgmwLES.ArchiveService/Startup.cs:line 228
в System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
в System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
в System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
в Microsoft.AspNetCore.Hosting.ConfigureBuilder. Invoke(Object instance, IApplicationBuilder builder)
в Microsoft. AspNetCore. Hosting. GenericWebHostService. StartAsync(CancellationToken cancellationToken)
в Microsoft. Extensions. Hosting. Internal. Host. StartAsync(CancellationToken cancellationToken)
в Microsoft. Extensions. Hosting. HostingAbstractionsHostExtensions. RunAsync(IHost host, CancellationToken token)
в Microsoft. Extensions. Hosting. HostingAbstractionsHostExtensions. RunAsync(IHost host, CancellationToken token)
в Program. <Main>(String[] args) в /src/src/SgmwLES. ArchiveService/Program. cs:строка 8
в Program. Main(String[] args)```
Вот содержимое startup
```c#
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
```csharp
app.UseDeveloperExceptionPage();
}
//app.InitSeed();
app.UseSwagger();
app.UseAuthentication();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapDomainGrpcService();
endpoints.MapControllers();
});
using var scope = app.ApplicationServices.CreateScope();
var defaultShardingDbContext = scope.ServiceProvider.GetRequiredService<DataContext>();
if (defaultShardingDbContext.Database.GetPendingMigrations().Any())
{
defaultShardingDbContext.Database.Migrate();
}
app.ApplicationServices.UseAutoTryCompensateTable();
}