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.Server.Kestrel.Core;
|
||||
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.Sockets;
|
||||
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
|
@ -30,7 +29,7 @@ namespace Microsoft.AspNetCore.Hosting
|
|||
return hostBuilder.ConfigureServices(services =>
|
||||
{
|
||||
// Don't override an already-configured transport
|
||||
services.TryAddSingleton<ITransportFactory, SocketTransportFactory>();
|
||||
services.TryAddSingleton<ITransportFactory, LibuvTransportFactory>();
|
||||
|
||||
services.AddTransient<IConfigureOptions<KestrelServerOptions>, KestrelServerOptionsSetup>();
|
||||
services.AddSingleton<IServer, KestrelServer>();
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
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 Xunit;
|
||||
|
||||
|
|
@ -46,5 +49,51 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Tests
|
|||
// Act
|
||||
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