protected override void TeardownContext() { LocalBus.Dispose(); LocalBus = null; RemoteBus.Dispose(); RemoteBus = null; FaultBus.Dispose(); FaultBus = null; LocalEndpoint = null; LocalErrorEndpoint = null; RemoteEndpoint = null; FaultEndpoint = null; base.TeardownContext(); }
protected override void EstablishContext() { base.EstablishContext(); _faultFuture = new FutureMessage <Fault <PingMessage, Guid> >(); LocalBus.SubscribeHandler <PingMessage>( message => { throw new NotSupportedException("I am a naughty consumer! I go boom!"); }); FaultBus.SubscribeHandler <Fault <PingMessage, Guid> >(message => { if (_faultFuture.IsAvailable(TimeSpan.Zero)) { return; } _faultFuture.Set(message); }); LocalBus.ShouldHaveRemoteSubscriptionFor <PingMessage>(); LocalBus.ShouldHaveRemoteSubscriptionFor <Fault <PingMessage, Guid> >(); _ping = new PingMessage(); LocalBus.Publish(_ping); }