Использование PostgreSQL для кластеризации Microsoft Orleans и хранения настойчивости сломана? Колонна "Silohost" не сущC#

Место общения программистов C#
Ответить
Anonymous
 Использование PostgreSQL для кластеризации Microsoft Orleans и хранения настойчивости сломана? Колонна "Silohost" не сущ

Сообщение Anonymous »

Я создал приложение Microsoft Orleans, используя V7.2.7. Я создал таблицы PostgreSQL, используя ссылки
https://learn.microsoft.com/en-us/dotne ... figuration.
Однако первая проблема заключается в том, что приложение не исключает исключения, если я не могу справиться с записью: p> p> p> p> p> p> .insert into OrleansQuery(QueryKey, QueryText) values (
'CleanupDefunctSiloEntriesKey',
'delete from OrleansMembershipTable
where DeploymentId = @DeploymentId
and @SiloHost = HostName
and @SiloPort = Port
and Status = @NonActiveStatus
and IAmAliveTime < @IAmAliveTime;
select ROW_COUNT();');
< /code>
Затем позже приложение получило исключение, когда оно выполняет очистку.Npgsql.PostgresException (0x80004005): 42703: column "silohost" does not exist
Npgsql.Internal.NpgsqlConnector.ReadMessageLong(Boolean async, DAtaRowLoadingMode dataRowLoadingMode, Boolean readingNOtifications, Boolean isReadingPrependedMessage)
POSITION: 79
at Npgsql.Internal.NpgsqlConnector.ReadMessageLong(Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
at System. Runtime. CompilerServices. PoolingAsyncValueTaskMethodBuilder'1.StateMachineBox'1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
at Orleans.Clustering. AdoNet.Storage.RelationalStorage.ExecuteReaderAsync[TResult] (DbCommand command, Func'4 selector, CommandBehavior commandBehavior, CancellationToken cancellationToken) in / /src/AdoNet/Shared/Storage/RelationalStorage.cs:line 251
at Orleans.Clustering. AdoNet. Storage. RelationalStorage. ExecuteAsync[TResult] (String query, Action'1 parameterProvider, Func'5 executor, Func 4 selector, CommandBehavior commandBehavior, CancellationToken cancellationToken) in / /src/AdoNet/Shared/Storage/RelationalStorage.cs:line 285
at Orleans. Clustering. AdoNet.Storage.RelationalStorage.ExecuteAsync(String query, Action'1 parameterProvider, CommandBehavior commandBehavior, CancellationToken cancellationToken) in / /src/AdoNet/Shared/Storage/RelationalStorage.cs:line 197
at Orleans. Runtime. MembershipService. AdoNetClusteringTable.CleanupDefunctSiloEntries(DateTimeOffset beforeDate) in //src/AdoNet/Orleans.Clustering. AdoNet/Messaging/AdoNetClusteringTable.cs:line 197
at Orleans. Runtime. MembershipService.MembershipTableCleanupAgent.CleanupDefunctSilos() in / /src/Orleans.Runtime/MembershipService/MembershipTableCleanupAgent.cs:line 71
Exception data:
Severity: ERROR
SqlState: 42703
MessageText: column "silohost" does not exist
Position: 79
File: parse_relation.c
Line: 3727
Routine: err ... [message truncated due to size]
< /code>
Кстати, у меня есть следующая настройка: < /p>
private static void ConfigurePostgreSqlClustering(ISiloBuilder siloBuilder, IConfiguration configuration)
{
var config = configuration. GetSection("database").Get();
ArgumentNullException. ThrowIfNull(config);
var connectionString = $"Host={config. Server}; Database={config.Name}; Username={config.Username}; Password={config.Password}; Timeout=600;Command Timeout=600;";

siloBuilder.UseAdoNetClustering(options =>
{
options.ConnectionString = connectionString;
options.Invariant = "Npgsql";
});
siloBuilder.AddAdoNetGrainStorage(Constants.Orleans.GrainStorage, options =>
{
options. ConnectionString = connectionString;
options. Invariant = "Npgsql";
});
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... age-is-bro
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»