簡體   English   中英

OracleModificationCommandBatch.Consume():Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException

[英]OracleModificationCommandBatch.Consume() : Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException

我將身份服務器 4 與 Oracle 中的數據庫一起使用,即使禁用了 EnableTokenCleanup,我也經常看到此異常。 我有一個帶有 +1 Identity Server 的負載平衡器,所有這些都使用相同的數據庫。

2021-04-07 16:06:29.865 -07:00 [錯誤] Microsoft.EntityFrameworkCore.Update: 2021-04-07 16:06:29.865449 ThreadID:110 (錯誤) OracleModificationCommandBatch.Consume(): Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException :數據庫操作預計會影響 1 行,但實際上會影響 0 行。 自加載實體以來,數據可能已被修改或刪除。 在 Oracle.EntityFrameworkCore.Update.Internal.OracleModificationCommandBatch.Consume(RelationalDataReader relationalReader) 2021-04-07 16:06:29.868 -07:00 [錯誤] Microsoft.EntityFrameworkCore.Update:保存上下文更改時數據庫中發生異常鍵入“IdentityServer4.EntityFramework.DbContexts.PersistedGrantDbContext”。 Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException:數據庫操作預計會影響 1 行,但實際上影響了 0 行。 自加載實體以來,數據可能已被修改或刪除。 在 Oracle.EntityFrameworkCore.Update.Internal.OracleModificationCommandBatch.Consume(RelationalDataReader relationalReader) 在 Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute(IRelationalConnection 連接) 在 Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.Execute(DbContext _, ValueTuple 2 parameters) at Oracle.EntityFrameworkCore.Storage.Internal.OracleExecutionStrategy.Execute[TState,TResult](TState state, Func 3 operation, Func 3 verifySucceeded) at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.Execute(IEnumerable 1 commandBatches, IRelationalConnection connection) at Microsoft.EntityFrameworkCore.Storage.RelationalDatabase.SaveChanges(IReadOnlyList 1 entries) at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(IReadOnlyList 1 entriesToSave) 在 Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.Sav Microsoft.EntityFrameworkCore.DbContext.SaveChanges(Boolean acceptAllChangesOnSuccess) 處的 eChanges(Boolean acceptAllChangesOnSuccess) Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException:數據庫操作預計會影響 1 行,但實際上會影響 0 行。 自加載實體以來,數據可能已被修改或刪除。

我的印象是,如果讓多個 IdentityServer 實例共享同一個數據庫,就會遇到這樣的問題。 當然,這是可能的,但我認為您需要查看數據庫查詢以確保它們可以處理多個 IdentityServer 寫入同一數據庫。

我假設 IdentityServer 是為一個 identityServer 和一個數據庫制作的。

你真的需要同時運行兩個實例嗎? 或者如果主要實例出現故障,最好讓一個活動實例和一個備用實例接管?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM