public void ThrowsIfUsedByMultipleThreads() { var store = CreateStore(); IEventStoreSession session = null; var wait = new ManualResetEventSlim(); ThreadPool.QueueUserWorkItem((state) => { session = OpenSession(store); wait.Set(); }); wait.Wait(); User user; Assert.Throws <MultiThreadedUseException>(() => session.Get <User>(Guid.NewGuid())); Assert.Throws <MultiThreadedUseException>(() => session.Dispose()); Assert.Throws <MultiThreadedUseException>(() => session.LoadSpecificVersion <User>(Guid.NewGuid(), 1)); Assert.Throws <MultiThreadedUseException>(() => session.Save(new User())); Assert.Throws <MultiThreadedUseException>(() => session.SaveChanges()); Assert.Throws <MultiThreadedUseException>(() => session.TryGet(Guid.NewGuid(), out user)); }
public virtual TAggregate Get(Guid id) { return(Aggregates.Get <TAggregate>(id)); }