我之前有一个与此类似的问题,但与实体框架有关。从那以后,我尝试使用 Telerik OpenAccess。这是我的模型:
当大约每 10 秒运行一次以下函数时,它的行为与预期一样,并且不会出现异常。但是,如果我在短时间内连续调用此函数 3 次,我会收到此错误。
InvalidOperationException - Not allowed because Commit / Rollback is in progress
这是功能。抛出异常SaveChanges()
private void NewTaskTaskCompleted(object sender, TaskCompletedEvent e)
{
TASK scheduledTask = entities.TASKs.First(x => x.TASK_NAME == e.ClassName);
scheduledTask.NEXT_RUN = e.NextRun;
//entities.SaveChanges();
TASK_LOG logMsg = new TASK_LOG()
{
TASK = scheduledTask,
MESSAGE = e.TaskResult.Message,
STATUS = e.TaskResult.Status ? "Successful" : "Failure",
TIMESTAMP = e.CompletedTime
};
scheduledTask.TASK_LOGs.Add(logMsg);
//entities.Add(logMsg);
entities.SaveChanges();
}
SaveChanges 调用是否不会阻止函数退出,从而阻止下一次函数调用的发生?