コード例 #1
0
        public async Task Execute()
        {
            await Publisher.PublishAsync(nameof(CancellationTokenSubscriberTest), "Test Message");

            await HandledMessages.WaitOneMessage(CancellationToken);

            // Explicitly stop Bootstrapper to prove the cancellation token works.
            var bootstrapper = Container.GetRequiredService <Bootstrapper>();
            await bootstrapper.StopAsync(CancellationToken.None);

            var(message, token) = HandledMessages
                                  .OfType <(string Message, CancellationToken Token)>()
                                  .Single();

            Assert.Equal("Test Message", message);
            Assert.True(token.IsCancellationRequested);
        }