Switch back to libuv as the default transport (#2257)
* Switch back to libuv as the default transport
This commit is contained in:
parent
040ea2e6b4
commit
526dfdb332
|
|
@ -5,9 +5,8 @@ using System;
|
||||||
using Microsoft.AspNetCore.Hosting.Server;
|
using Microsoft.AspNetCore.Hosting.Server;
|
||||||
using Microsoft.AspNetCore.Server.Kestrel.Core;
|
using Microsoft.AspNetCore.Server.Kestrel.Core;
|
||||||
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal;
|
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal;
|
||||||
using Microsoft.AspNetCore.Server.Kestrel.Internal;
|
|
||||||
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal;
|
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal;
|
||||||
using Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets;
|
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
|
@ -30,7 +29,7 @@ namespace Microsoft.AspNetCore.Hosting
|
||||||
return hostBuilder.ConfigureServices(services =>
|
return hostBuilder.ConfigureServices(services =>
|
||||||
{
|
{
|
||||||
// Don't override an already-configured transport
|
// Don't override an already-configured transport
|
||||||
services.TryAddSingleton<ITransportFactory, SocketTransportFactory>();
|
services.TryAddSingleton<ITransportFactory, LibuvTransportFactory>();
|
||||||
|
|
||||||
services.AddTransient<IConfigureOptions<KestrelServerOptions>, KestrelServerOptionsSetup>();
|
services.AddTransient<IConfigureOptions<KestrelServerOptions>, KestrelServerOptionsSetup>();
|
||||||
services.AddSingleton<IServer, KestrelServer>();
|
services.AddSingleton<IServer, KestrelServer>();
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,9 @@
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.AspNetCore.Server.Kestrel.Core;
|
using Microsoft.AspNetCore.Server.Kestrel.Core;
|
||||||
|
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal;
|
||||||
|
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv;
|
||||||
|
using Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
|
|
@ -46,5 +49,51 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Tests
|
||||||
// Act
|
// Act
|
||||||
hostBuilder.Build();
|
hostBuilder.Build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void LibuvIsTheDefaultTransport()
|
||||||
|
{
|
||||||
|
var hostBuilder = new WebHostBuilder()
|
||||||
|
.UseKestrel()
|
||||||
|
.Configure(app => { });
|
||||||
|
|
||||||
|
Assert.IsType<LibuvTransportFactory>(hostBuilder.Build().Services.GetService<ITransportFactory>());
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void LibuvTransportCanBeManuallySelectedIndependentOfOrder()
|
||||||
|
{
|
||||||
|
var hostBuilder = new WebHostBuilder()
|
||||||
|
.UseKestrel()
|
||||||
|
.UseLibuv()
|
||||||
|
.Configure(app => { });
|
||||||
|
|
||||||
|
Assert.IsType<LibuvTransportFactory>(hostBuilder.Build().Services.GetService<ITransportFactory>());
|
||||||
|
|
||||||
|
var hostBuilderReversed = new WebHostBuilder()
|
||||||
|
.UseLibuv()
|
||||||
|
.UseKestrel()
|
||||||
|
.Configure(app => { });
|
||||||
|
|
||||||
|
Assert.IsType<LibuvTransportFactory>(hostBuilderReversed.Build().Services.GetService<ITransportFactory>());
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void SocketsTransportCanBeManuallySelectedIndependentOfOrder()
|
||||||
|
{
|
||||||
|
var hostBuilder = new WebHostBuilder()
|
||||||
|
.UseKestrel()
|
||||||
|
.UseSockets()
|
||||||
|
.Configure(app => { });
|
||||||
|
|
||||||
|
Assert.IsType<SocketTransportFactory>(hostBuilder.Build().Services.GetService<ITransportFactory>());
|
||||||
|
|
||||||
|
var hostBuilderReversed = new WebHostBuilder()
|
||||||
|
.UseSockets()
|
||||||
|
.UseKestrel()
|
||||||
|
.Configure(app => { });
|
||||||
|
|
||||||
|
Assert.IsType<SocketTransportFactory>(hostBuilderReversed.Build().Services.GetService<ITransportFactory>());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue