コード例 #1
0
 private void DoPublish(object message)
 {
     try
     {
         _routeMessages.Route(message);
     }
     finally
     {
         _postCommitQueue.Pop(DoPublish);
     }
 }
コード例 #2
0
        public async Task exceptions_thrown_by_router_dont_break_other_messages()
        {
            _router.Route(_sut.Envelopes[0]).Throws(new Exception("router exception"));
            _sut.Add();
            _sut.Subscribe(_router);
            _sut.Start();
            _sut.Next();

            await _router.Received(2).Route(Arg.Any <EnvelopeFromClient>());

            _sut.Handled.Should().Be(_sut.Envelopes[1]);
        }
コード例 #3
0
        protected void Callback(object state)
        {
            var items = GetMessages();

            items.ForEach(async d =>
            {
                try
                {
                    await _server.Route(d).ConfigureFalse();
                    MarkAsHandled(d);
                }
                catch (Exception ex)
                {
                    this.LogError(ex);
                }
            });
        }