public void StoreWorkflowData(IEnumerable <KeyValuePair <string, string> > workspaceData) { try { if (!_wfLock.Wait(TimeSpan.FromSeconds(60.0))) { throw new SynchronizationLockException(); } Workspace.Batch(wsd => workspaceData.ForEach(data => wsd.Put(data.Key, data.Value))); } catch (SynchronizationLockException) { var es = string.Format("Timed out waiting to write workspace data to {0}", Id); _log.Error(es); var on = Catalog.Factory.Resolve <IApplicationAlert>(); on.RaiseAlert(ApplicationAlertKind.System, es); } finally { _wfLock.Release(); } }