public virtual async Task RequestCanBeAborted(string scheme) { Test.EndPoint.Scheme = scheme; var connectionIds = new List <string>(); Test.App.OnRequest = async message => { var httpContext = new DefaultHttpContext(message.Features); httpContext.Abort(); }; await Test.Server.StartAsync(); var error1 = await Assert.ThrowsAsync <HttpRequestException>(async() => await Test.Client.GetStringAsync("/request1")); var error2 = await Assert.ThrowsAsync <HttpRequestException>(async() => await Test.Client.GetStringAsync("/request2")); var error3 = await Assert.ThrowsAsync <HttpRequestException>(async() => await Test.Client.GetStringAsync("/request3")); await Test.Server.StopAsync(); Assert.Equal(3, (from log in Test.Logging.LogItems where log.EventId.Name == "SocketAccepted" select log).Count()); }