@@ -159,8 +159,9 @@ IServiceProvider ConfigureServicesWithContainerConfiguration(IServiceCollection
159
159
IServiceProvider ? RunPipeline ( IServiceCollection services )
160
160
{
161
161
#pragma warning disable CS0612 // Type or member is obsolete
162
- var filters = HostingServiceProvider . GetRequiredService < IEnumerable < IStartupConfigureServicesFilter > > ( ) . Reverse ( ) . ToArray ( ) ;
162
+ var filters = HostingServiceProvider . GetRequiredService < IEnumerable < IStartupConfigureServicesFilter > > ( )
163
163
#pragma warning restore CS0612 // Type or member is obsolete
164
+ . ToArray ( ) ;
164
165
165
166
// If there are no filters just run startup (makes IServiceProvider ConfigureServices(IServiceCollection services) work.
166
167
if ( filters . Length == 0 )
@@ -169,7 +170,7 @@ IServiceProvider ConfigureServicesWithContainerConfiguration(IServiceCollection
169
170
}
170
171
171
172
Action < IServiceCollection > pipeline = InvokeStartup ;
172
- for ( int i = 0 ; i < filters . Length ; i ++ )
173
+ for ( int i = filters . Length - 1 ; i >= 0 ; i -- )
173
174
{
174
175
pipeline = filters [ i ] . ConfigureServices ( pipeline ) ;
175
176
}
@@ -204,15 +205,13 @@ void RunPipeline(TContainerBuilder containerBuilder)
204
205
{
205
206
var filters = HostingServiceProvider
206
207
#pragma warning disable CS0612 // Type or member is obsolete
207
- . GetRequiredService < IEnumerable < IStartupConfigureContainerFilter < TContainerBuilder > > > ( )
208
+ . GetRequiredService < IEnumerable < IStartupConfigureContainerFilter < TContainerBuilder > > > ( ) ;
208
209
#pragma warning restore CS0612 // Type or member is obsolete
209
- . Reverse ( )
210
- . ToArray ( ) ;
211
210
212
211
Action < TContainerBuilder > pipeline = InvokeConfigureContainer ;
213
- for ( int i = 0 ; i < filters . Length ; i ++ )
212
+ foreach ( var filter in filters . Reverse ( ) )
214
213
{
215
- pipeline = filters [ i ] . ConfigureContainer ( pipeline ) ;
214
+ pipeline = filter . ConfigureContainer ( pipeline ) ;
216
215
}
217
216
218
217
pipeline ( containerBuilder ) ;
0 commit comments