【问题标题】:cannot rollback - no transaction is active only if Angular server is started不能回滚——只有当 Angular 服务器启动时,没有事务处于活动状态
【发布时间】:2020-06-18 07:05:00
【问题描述】:

我正在关注 Angular 与 ASP.NET Core WebAPI 的教程。当我的角度服务器没有启动时,我可以通过 Postman 向 API 发送请求没有问题。一旦我启动我的角度服务器,我就会得到以下堆栈跟踪:

Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 1: 'cannot rollback - no transaction is active'.
at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Microsoft.Data.Sqlite.SqliteConnectionExtensions.ExecuteNonQuery(SqliteConnection connection, 
String commandText, SqliteParameter[] parameters)
at Microsoft.Data.Sqlite.SqliteTransaction.RollbackInternal()
at Microsoft.Data.Sqlite.SqliteTransaction.Dispose(Boolean disposing)
at System.Data.Common.DbTransaction.DisposeAsync()
at Microsoft.EntityFrameworkCore.Storage.RelationalTransaction.DisposeAsync()
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(DbContext _, ValueTuple`2 
parameters, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 
entriesToSave, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
at CoreApp.API.Data.CoreRepository.SaveAll() in X:\DEV\CoreApp\CoreApp.API\Data\CoreRepository.cs:line 113
at CoreApp.API.Helpers.LogUserActivity.OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) in X:\DEV\CoreApp\CoreApp.API\Helpers\LogUserActivity.cs:line 20
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)

另一条信息:如果我尝试在数据库浏览器中打开我的数据库并手动插入一行,它会说

Error while saving the database file. no such savepoint: RESTOREPOINT (RELEASE "RESTOREPOINT";)

这种行为似乎是突然开始的,即使我尝试删除我输入的最新作品,它仍然给我这个错误。我还尝试了几次删除并重新创建数据库,但均未成功。我不知道这个错误是如何开始的或如何解决的。感谢您的帮助。

【问题讨论】:

  • 如果您向我们展示相关代码,我们也许可以提供帮助,但您只能猜测
  • 代码的哪一部分?我有多个控制器或类,我不知道哪个部分实际上是相关的

标签: mysql angular api asp.net-core


【解决方案1】:

只是设法让它工作,但我不知道为什么。

根据搜索结果,这两个错误似乎与磁盘空间有关。即使我的应用程序位于公司网络上的一个文件夹中,并且有足够的可用空间,但它可能在某些磁盘问题上令人震惊。我将整个应用程序文件夹复制到本地计算机上,它的工作方式与以前一样。

【讨论】:

    猜你喜欢
    • 2011-08-21
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多