"System.Data.SqlServerCe.SqlCeLockTimeoutException: SQL Server Compact timed out waiting for a lock." when editing Member
I have some code which deals with creating and updating Members. For reasons out-of-scope of this issue, the code which creates a member (using an Umbraco Forms Custom Workflow) passes the MemberId and other info to another function which is in a WebApi, by POST. The WebApi uses the MembershipService to get an instance of the member just created and set some additional property data, then saves the member.
When I run this locally using SQLCE DB, the WebApi code always fails with "System.Data.SqlServerCe.SqlCeLockTimeoutException (0x80004005): SQL Server Compact timed out waiting for a lock."
It seems that the initial code is somehow locking that single new Member record, but I'm not sure how to "unlock" it after I save the member, and before I call the WebApi...
This is the full error:
System.Data.SqlServerCe.SqlCeLockTimeoutException (0x80004005): SQL Server Compact timed out waiting for a lock. The default lock time is 2000ms for devices and 5000ms for desktops. The default lock timeout can be increased in the connection string using the ssce: default lock timeout property. [ Session id = 2,Thread id = 40656,Process id = 36024,Table name = umbracoLock,Conflict type = s lock (x blocks),Resource = RID: 1189:6 ]
at System.Data.SqlServerCe.SqlCeDataReader.ProcessResults(Int32 hr)
at System.Data.SqlServerCe.SqlCeDataReader.IsEndOfRowset(Int32 hr)
at System.Data.SqlServerCe.SqlCeDataReader.Move(DIRECTION direction)
at System.Data.SqlServerCe.SqlCeDataReader.Read()
at System.Data.SqlServerCe.SqlCeCommand.ExecuteScalar()
at Umbraco.Core.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func`1 func)
at NPoco.Database.ExecuteScalarHelper(DbCommand cmd)
at NPoco.Database.ExecuteScalar[T](String sql, CommandType commandType, Object[] args)
at Umbraco.Core.Persistence.SqlSyntax.SqlCeSyntaxProvider.ReadLock(IDatabase db, Int32[] lockIds)
at Umbraco.Core.Services.Implement.MemberService.GetById(Int32 id)
"System.Data.SqlServerCe.SqlCeLockTimeoutException: SQL Server Compact timed out waiting for a lock." when editing Member
I have some code which deals with creating and updating Members. For reasons out-of-scope of this issue, the code which creates a member (using an Umbraco Forms Custom Workflow) passes the MemberId and other info to another function which is in a WebApi, by POST. The WebApi uses the MembershipService to get an instance of the member just created and set some additional property data, then saves the member.
When I run this locally using SQLCE DB, the WebApi code always fails with "System.Data.SqlServerCe.SqlCeLockTimeoutException (0x80004005): SQL Server Compact timed out waiting for a lock."
It seems that the initial code is somehow locking that single new Member record, but I'm not sure how to "unlock" it after I save the member, and before I call the WebApi...
This is the full error:
Does anyone have ideas about how to handle this?
Thanks!
+1
is working on a reply...