Commit Graph

11 Commits

Author SHA1 Message Date
David Fowler cfe9b26a34
Added support for generic host based IWebHostBuilder (#1580)
- This adds an implementation of IWebHostBuilder as a facade over the IHostBuilder.
This removes the 2 container issue by executing the Startup.ConfigureServies and Startup.ConfigureContainer inline as part of building the IHostBuilder.
- The implementation is highly compatible implementation since it exposes the same IWebHostBuilder interface.
Existing extensions mostly work.
- There are some caveats with this approach.
    - Injecting services into Startup is not extremely constrained to the
    services availble on HostBuilderContext. This includes the IHostingEnvironment
    and the IConfiguration.
    - IStartup is broken when using this pattern because it isn't composable.
    - The IStartupConfigureServicesFilter and IStartupConfigureContainer The before
    and after filters added in 2.1 are also broken  because there's a single container (it could maybe be fixed by downcasting and doing something specific on the GenericHostBuilder instance).
    - Calling into IWebHostBuilder.Build will throw a NotSupportedException since
    this implementation is just a facade over the IHostBuilder.
2018-11-13 21:22:30 -08:00
Justin Kotalik 312e0da556 Fix case sensitivity on Startup classes and methods (#1166) 2017-08-18 09:45:12 -07:00
David Fowler e88ad84a72 Create a scoped service provider for the call to Configure (#1106)
* Create a scoped service provider for the call to Configure
- This allows scoped dependencies to be injected into the Configure method.
It means you can resolve the DbContext or any other scoped service without
the hassle of the CreateScope boiler plate. As a side effect, it also makes
Startup.Configure a bit more testable.
2017-06-19 14:14:20 -07:00
Cesar Blum Silveira 39164eeb40 Simplify WebHostBuilderTests.CanUseCustomLoggerFactory.
- Keep all the code in the test itself, instead of in an
  extension method. Makes it easier to understand what's
  happening without having to look up the extension
  method's definition.
2017-04-05 11:23:54 -07:00
glennc 0ab882b6d3 Allow configuration and logging to be configured on WebHostBuilder, setting up for the removal of AddProvider from ILoggerFactory. 2017-04-04 14:43:13 -07:00
Pavel Krymets a29ceeb9e8 Deterministically dispose instances created by WebHostBuilder (#868) 2016-10-31 11:59:57 -07:00
Pranav K abe6dd5692 Merge branch 'release' into dev 2016-04-26 10:18:15 -07:00
Pranav K 3853d988c2 Remove references to IRuntimeEnvironment \ IApplicationEnvironment 2016-04-25 14:25:19 -07:00
David Fowler 8f5f8d28d0 This change introduces a new service `IStartup` that can be registered in the hosting container to override any startup logic. `UseStartup` overloads have been changed to detect `IStartup` and directly put it in the container, or to wrapping it with a `ConventionBasedStartup` implementation to preserve the existing behavior.
- Remove IStartupLoader and add `IStartup` instead that matches the signature hosting cares about
- Moved `UseStartup` to extension methods
- Move existing logic into `ConventionBasedStartup` class
2016-04-18 21:33:03 -07:00
N. Taylor Mullen e62ceb8528 Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:21:40 -08:00
N. Taylor Mullen c24e0297b2 Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:21:33 -08:00