Skip to content

Commit 926090b

Browse files
authored
Mark WebHostBuilder class as obsolete (#62785)
1 parent 6b15190 commit 926090b

File tree

21 files changed

+1497
-716
lines changed

21 files changed

+1497
-716
lines changed

src/DataProtection/DataProtection/test/Microsoft.AspNetCore.DataProtection.Tests/HostingTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public async Task WebhostLoadsKeyRingBeforeServerStarts()
2525
.Returns(Mock.Of<IKeyRing>())
2626
.Callback(() => tcs.TrySetResult());
2727

28+
#pragma warning disable ASPDEPR004 // Type or member is obsolete
2829
var builder = new WebHostBuilder()
2930
.UseStartup<TestStartup>()
3031
.ConfigureServices(s =>
@@ -33,6 +34,7 @@ public async Task WebhostLoadsKeyRingBeforeServerStarts()
3334
.Replace(ServiceDescriptor.Singleton(mockKeyRing.Object))
3435
.AddSingleton<IServer>(
3536
new FakeServer(onStart: () => tcs.TrySetException(new InvalidOperationException("Server was started before key ring was initialized")))));
37+
#pragma warning restore ASPDEPR004 // Type or member is obsolete
3638

3739
using (var host = builder.Build())
3840
{

src/DefaultBuilder/src/WebHost.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,9 @@ public static IWebHostBuilder CreateDefaultBuilder() =>
154154
/// <returns>The initialized <see cref="IWebHostBuilder"/>.</returns>
155155
public static IWebHostBuilder CreateDefaultBuilder(string[] args)
156156
{
157+
#pragma warning disable ASPDEPR004 // Type or member is obsolete
157158
var builder = new WebHostBuilder();
159+
#pragma warning restore ASPDEPR004 // Type or member is obsolete
158160

159161
if (string.IsNullOrEmpty(builder.GetSetting(WebHostDefaults.ContentRootKey)))
160162
{

src/Hosting/Hosting/src/WebHostBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ namespace Microsoft.AspNetCore.Hosting;
2020
/// <summary>
2121
/// A builder for <see cref="IWebHost"/>
2222
/// </summary>
23+
[Obsolete("WebHostBuilder is deprecated in favor of HostBuilder and WebApplicationBuilder. For more information, visit https://aka.ms/aspnet/deprecate/004.", DiagnosticId = "ASPDEPR004")]
2324
public class WebHostBuilder : IWebHostBuilder
2425
{
2526
private readonly HostingEnvironment _hostingEnvironment;

src/Hosting/Hosting/test/WebHostBuilderTests.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,7 @@ public void DoNotCaptureStartupErrorsByDefault(IWebHostBuilder builder)
429429
public void ServiceProviderDisposedOnBuildException()
430430
{
431431
var service = new DisposableService();
432+
#pragma warning disable ASPDEPR004 // Type or member is obsolete
432433
var hostBuilder = new WebHostBuilder()
433434
.UseServer(new TestServer())
434435
.ConfigureServices(services =>
@@ -437,6 +438,7 @@ public void ServiceProviderDisposedOnBuildException()
437438
services.AddSingleton(sp => service);
438439
})
439440
.UseStartup<StartupWithResolvedDisposableThatThrows>();
441+
#pragma warning restore ASPDEPR004 // Type or member is obsolete
440442

441443
Assert.Throws<InvalidOperationException>(() => hostBuilder.Build());
442444
Assert.True(service.Disposed);
@@ -1483,14 +1485,18 @@ private IWebHostBuilder CreateWebHostBuilder()
14831485
.AddInMemoryCollection(vals);
14841486
var config = builder.Build();
14851487

1488+
#pragma warning disable ASPDEPR004 // Type or member is obsolete
14861489
return new WebHostBuilder().UseConfiguration(config);
1490+
#pragma warning restore ASPDEPR004 // Type or member is obsolete
14871491
}
14881492

1493+
#pragma warning disable ASPDEPR004 // Type or member is obsolete
14891494
public static TheoryData<IWebHostBuilder> DefaultWebHostBuilders => new TheoryData<IWebHostBuilder>
14901495
{
14911496
new WebHostBuilder(),
14921497
new GenericWebHostBuilderWrapper(new HostBuilder())
14931498
};
1499+
#pragma warning restore ASPDEPR004 // Type or member is obsolete
14941500

14951501
public static TheoryData<IWebHostBuilder> DefaultWebHostBuildersWithConfig
14961502
{
@@ -1506,10 +1512,12 @@ public static TheoryData<IWebHostBuilder> DefaultWebHostBuildersWithConfig
15061512
.AddInMemoryCollection(vals);
15071513
var config = builder.Build();
15081514

1515+
#pragma warning disable ASPDEPR004 // Type or member is obsolete
15091516
return new TheoryData<IWebHostBuilder> {
15101517
new WebHostBuilder().UseConfiguration(config),
15111518
new GenericWebHostBuilderWrapper(new HostBuilder()).UseConfiguration(config)
15121519
};
1520+
#pragma warning restore ASPDEPR004 // Type or member is obsolete
15131521
}
15141522
}
15151523

src/Hosting/Hosting/test/WebHostTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,7 +1103,9 @@ private IWebHost CreateHost(RequestDelegate requestDelegate)
11031103

11041104
private IWebHostBuilder CreateBuilder(IConfiguration config = null)
11051105
{
1106+
#pragma warning disable ASPDEPR004 // Type or member is obsolete
11061107
return new WebHostBuilder().UseConfiguration(config ?? new ConfigurationBuilder().Build()).UseStartup("Microsoft.AspNetCore.Hosting.Tests");
1108+
#pragma warning restore ASPDEPR004 // Type or member is obsolete
11071109
}
11081110

11091111
private static bool[] RegisterCallbacksThatThrow(IServiceCollection services)

src/Hosting/TestHost/test/ClientHandlerTests.cs

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using Microsoft.AspNetCore.Http.Features;
1212
using Microsoft.AspNetCore.InternalTesting;
1313
using Microsoft.Extensions.DependencyInjection;
14+
using Microsoft.Extensions.Hosting;
1415
using Microsoft.Extensions.Logging;
1516
using Microsoft.Net.Http.Headers;
1617

@@ -691,19 +692,27 @@ public async Task ClientHandlerCreateContextWithDefaultRequestParameters()
691692
{
692693
// This logger will attempt to access information from HttpRequest once the HttpContext is created
693694
var logger = new VerifierLogger();
694-
var builder = new WebHostBuilder()
695-
.ConfigureServices(services =>
695+
using var host = new HostBuilder()
696+
.ConfigureWebHost(webHostBuilder =>
696697
{
697-
services.AddSingleton<ILogger<IWebHost>>(logger);
698+
webHostBuilder
699+
.UseTestServer()
700+
.ConfigureServices(services =>
701+
{
702+
services.AddSingleton<ILogger<IWebHost>>(logger);
703+
})
704+
.Configure(app =>
705+
{
706+
app.Run(context =>
707+
{
708+
return Task.FromResult(0);
709+
});
710+
});
698711
})
699-
.Configure(app =>
700-
{
701-
app.Run(context =>
702-
{
703-
return Task.FromResult(0);
704-
});
705-
});
706-
var server = new TestServer(builder);
712+
.Build();
713+
var server = host.GetTestServer();
714+
715+
await host.StartAsync();
707716

708717
// The HttpContext will be created and the logger will make sure that the HttpRequest exists and contains reasonable values
709718
var result = await server.CreateClient().GetStringAsync("/");

0 commit comments

Comments
 (0)