Commit Graph

193 Commits

Author SHA1 Message Date
Nate McMaster 3483a32505
automated: merge branch release/2.2 2018-09-28 17:27:30 -07:00
David Fowler f17142b2ec
Delay resolution until after application services are built (#1553)
- Resolve the logger from the right service provider to log duplicate hosting startup assemblies.
- Don't create a 3rd IServiceProvider if we resolved the default implementation.
2018-09-24 10:41:30 -07:00
David Fowler 5543d29af1 Merge branch 'release/2.2' => 'master' 2018-09-07 01:29:38 -07:00
David Fowler 04b365a22f
Don't hold onto the HttpContext in the HostingLogScope (#1531)
- Multiple things capture the ExecutionContext, reduce the changes of improperly rooting the HttpContext when we only need a few properties from the request.
2018-08-27 11:59:56 -07:00
Alfred Myers c9a4ee8b71 Change List<Action> to Action (#1480) 2018-08-27 10:33:05 -07:00
Henk Mollema cfab182399 Revert "Inherit web IHostingEnvironment and IApplicationEnvironment from the Generic Host one (#1461)" (#1467)
This reverts commit 8672b1b04a.
2018-06-18 10:47:17 -07:00
Henk Mollema 8672b1b04a Inherit web IHostingEnvironment and IApplicationEnvironment from the Generic Host one (#1461) 2018-06-16 03:18:48 -07:00
Rutger Storm a3300a6a60 Add try..finally around RunAsync and WaitForTokenShutdownAsync #1194
The try..finally ensures that the ManualResetEventSlim which AttachCtrlcSigtermShutdown uses is set even when an exception occurs in these two methods.
2018-05-25 09:21:26 -07:00
David Fowler a8c0970cde
Check for non-null RequestServices (#1378) 2018-04-13 09:45:38 -07:00
Ryan Brandenburg 1bac12716d Updating baselines 2018-03-21 15:32:09 -07:00
David Fowler 5748898fc4
Make the RequestServicesContainerMiddleware thinner (#1360) (#1362)
- Today the request services middleware is responsible for making sure there are request scoped services.
This PR tries introduces some breaking changes that are hopefully acceptable in order to gain some performance.
- Here are the assumptions this PR makes:
 - Since this middleware is first in the pipeline, the only thing that can
  set a default service provider would be the server itself. Since we have no servers that do that
  I removed that code that tries to noop if there's an existing service provider.
 - This PR no longer restores the previous service provider feature since it gets replaced every request
 anyways. Kestrel also clears out the feature on each request so it shouldn't be a problem (in theory).
 Once again, since this middleware is first, it is the last thing that runs before the server re-gains
 control on the way out so there's no need to restore anything.
 - We use the RegisterForDispose method to dispose of the IServiceProvider instead of doing it inline.
2018-03-21 08:58:03 -07:00
Nate McMaster 1f5379e38d
Merge branch 'release/2.1' into dev 2018-03-02 14:11:38 -08:00
Steve Gordon 8765d55f9f Fixing small typo in a comment (#1328) 2018-02-06 07:57:28 -08:00
David Fowler 6b095cf533
Allow overriding the hosting service provider (#1325)
- Use the IServiceProviderFactory<IServiceCollection>
- Assert creation and disposal service providers
- Updated the tests to verify that service providers are created and disposed
- Called CreateBuilder even in the default case in case the service collection is modified as part of it.
2018-01-31 16:03:40 -08:00
David Fowler f8d61a4c52
Dispose the host if Initialize fails (#1324) 2018-01-31 16:00:55 -08:00
David Fowler cb55973c27
Dispose the host if Initialize fails (#1318) 2018-01-29 02:56:19 -08:00
Chris Ross (ASP.NET) cd3f58bed7 #1263 Delay IServer and Startup.Configure until StartAsync 2017-11-14 09:19:25 -08:00
David Fowler a78b9c7490
Support the Extensions.Abstractions from Hosting.Abstractions (#1259)
- The goal here is to enable components that use hosting abstractions to use
the web host. It lets us start to decouple components from the web host abstractions
where possible while not breaking any existing components. This will allow things
to work in both the generic host and the web host. The one snafu is the WebHostBuilderContext
which has an IHostingEnvironment typed as the AspNetCore.Abstractions type.
- Updated tests.

#1218
2017-11-09 21:24:30 -08:00
Nate McMaster c5f2333481 Pin tool and package versions to make build more repeatable 2017-10-31 13:04:32 -07:00
Pavel Krymets e892ed8bbd
Add a way to prevent specific hosting startup from runnning (#1243) 2017-10-27 16:52:39 -07:00
John Luo a63932a492 Add option to suppress writing startup messages 2017-10-02 14:08:54 -07:00
Javier Calvarro Nelson 6687f4eefc Update API check baselines to 2.0 2017-09-22 17:52:20 -07:00
KPixel 27a3a89b60 Simplifying ApplicationLifetime.ExecuteHandlers() (#1228) 2017-09-22 06:16:48 -07:00
Chris Ross 253be73b6f Misc generic host pr feedback (#1222) 2017-09-21 15:09:52 -07:00
Justin Kotalik 500668619f Detect duplicate startups in HostingStartupAssemblies (#1183) 2017-09-18 11:47:34 -07:00
Chris Ross (ASP.NET) ae9da9290e #1163 Implement the generic host 2017-09-14 14:48:06 -07:00
John Luo 8b30efbe75 Use chained configuration 2017-09-05 12:54:00 -07:00
Nate McMaster 5ca9f8928f Use PackageLineup to manage PackageReference versions 2017-08-29 09:55:55 -07:00
Nate McMaster 9a4a43cc6a Use Directory.Build.props/targets 2017-08-29 09:52:04 -07:00
John Luo b187c1adc4 Add fallback when resolving application name
- Use the name of the EntryAssembly when application name is not specified
2017-08-24 11:00:01 -07:00
Javier Calvarro Nelson 964b671288 [Fixes #1012] Make it possible to override services when using UseStartup.
* Add IStartupConfigureServicesFilter to wrap ConfigureServices.
* Add IStartupConfigureContainerFilter<TContainerBuilder> to wrap
  ConfigureContainer.
* Make StartupLoader build a thunk for configure services that
  resolves all instances of IStartupConfigureServicesFilter and
  IStartupConfigureContainerFilter<TContainerBuilder> and wraps
  invocations to ConfigureServices and ConfigureContainer respectively.
* Refactor building the ConfigureServices callback into a private
  builder class due to the increased complexity in the process.
2017-08-23 14:32:51 -07:00
Justin Kotalik 312e0da556 Fix case sensitivity on Startup classes and methods (#1166) 2017-08-18 09:45:12 -07:00
Justin Kotalik c74d0e7458 Adds .Value to logger calls to avoid calling .ToUriComponents on a bad header. (#1169)
* Add .Value to request properties in HostingRequestStartLog
2017-08-18 09:43:04 -07:00
Christian Weiss 07f96a444e Always log startup exceptions 2017-08-08 09:55:30 -07:00
Mike Harder 266736764c Rename to DiagnosticSourceVersion (#1143)
- Matches other repos
2017-07-19 09:37:37 -07:00
David Fowler e4350945c5 Attach the correlation id to the request scope if logging is on (#1138)
- Add the correlation id to the request scope as well as setting
it as the parent id of the activity
2017-07-11 10:03:15 -07:00
John Luo 15008b0b7f Add WaitForShutdown to WebHostExtensions 2017-07-01 23:13:52 -07:00
David Fowler b0a70aeef7 Add synchronous Start back to IWebHost (#1125)
* Add synchronous Start back to IWebHost
- Fixed extension methods to have a default(CancellationToken)
- Removed extension methods for Start, StartAsync and StopAsync
2017-07-01 15:00:54 -07:00
David Fowler 5fa9fc9458 Updated breaking changes file 2017-06-23 09:33:58 -07:00
Kristian Hellang 513f6ac816 Avoid having to return anything in StartupBase.ConfigureServices (#957)
* Implement IStartup explicitly so we don't have to return a service provider
* Inherit StartupBase and override CreateServiceProvider
2017-06-23 08:48:06 -07:00
Pranav K acb96ec971 Preapre for StackTrace.Sources changes 2017-06-22 11:18:43 -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
David Fowler 70a3017b12 Add overload that takes an IConfigurationBuilder (#1107) 2017-06-19 12:41:43 -07:00
Chris R a2962d54f1 Merge branch 'rel/2.0.0-preview2' into dev 2017-06-02 12:23:47 -07:00
Pavel Krymets 0f0c88b8cd React to logging in DI changes (#1089) 2017-06-02 08:33:37 -07:00
Nate McMaster 5bcc76d32c Remove dependency on DataProtection
Reverse changes made in #1064
2017-06-01 16:26:54 -07:00
John Luo 3b488c470a Make IHostedServiceAsync 2017-05-26 10:52:08 -07:00
Nate McMaster 75ba58bac2 Re-add some code that was removed during TFM churn 2017-05-26 09:51:38 -07:00
Chris R 419ec53d07 React to StringSegment changes 2017-05-23 10:38:21 -07:00
Chris R 7ac6842d18 #1075 Suppress exceptions from failing to load HostingStartup assemblies 2017-05-23 10:36:57 -07:00