33
33
using Microsoft . Diagnostics . Tools . Monitor . Stacks ;
34
34
using Microsoft . Diagnostics . Tools . Monitor . StartupHook ;
35
35
using Microsoft . Extensions . Configuration ;
36
+ using Microsoft . Extensions . Configuration . Binder . SourceGeneration ;
36
37
using Microsoft . Extensions . DependencyInjection ;
37
38
using Microsoft . Extensions . DependencyInjection . Extensions ;
38
39
using Microsoft . Extensions . FileProviders ;
@@ -49,43 +50,43 @@ internal static class ServiceCollectionExtensions
49
50
{
50
51
public static IServiceCollection ConfigureCors ( this IServiceCollection services , IConfiguration configuration )
51
52
{
52
- return services . Configure < CorsConfigurationOptions > ( configuration . GetSection ( ConfigurationKeys . CorsConfiguration ) ) ;
53
+ return BindingExtensions . Configure < CorsConfigurationOptions > ( services , configuration . GetSection ( ConfigurationKeys . CorsConfiguration ) ) ;
53
54
}
54
55
55
56
public static IServiceCollection ConfigureDotnetMonitorDebug ( this IServiceCollection services , IConfiguration configuration )
56
57
{
57
- return services . Configure < DotnetMonitorDebugOptions > ( configuration . GetSection ( ConfigurationKeys . DotnetMonitorDebug ) ) ;
58
+ return BindingExtensions . Configure < DotnetMonitorDebugOptions > ( services , configuration . GetSection ( ConfigurationKeys . DotnetMonitorDebug ) ) ;
58
59
}
59
60
60
61
public static IServiceCollection ConfigureGlobalCounter ( this IServiceCollection services , IConfiguration configuration )
61
62
{
62
- return services . Configure < GlobalCounterOptions > ( configuration . GetSection ( ConfigurationKeys . GlobalCounter ) )
63
+ return BindingExtensions . Configure < GlobalCounterOptions > ( services , configuration . GetSection ( ConfigurationKeys . GlobalCounter ) )
63
64
. AddSingleton < IValidateOptions < GlobalCounterOptions > , DataAnnotationValidateOptions < GlobalCounterOptions > > ( ) ;
64
65
65
66
}
66
67
67
68
public static IServiceCollection ConfigureCollectionRuleDefaults ( this IServiceCollection services , IConfiguration configuration )
68
69
{
69
- return services . Configure < CollectionRuleDefaultsOptions > ( configuration . GetSection ( ConfigurationKeys . CollectionRuleDefaults ) ) ;
70
+ return BindingExtensions . Configure < CollectionRuleDefaultsOptions > ( services , configuration . GetSection ( ConfigurationKeys . CollectionRuleDefaults ) ) ;
70
71
}
71
72
72
73
public static IServiceCollection ConfigureTemplates ( this IServiceCollection services , IConfiguration configuration )
73
74
{
74
- return services . Configure < TemplateOptions > ( configuration . GetSection ( ConfigurationKeys . Templates ) ) ;
75
+ return BindingExtensions . Configure < TemplateOptions > ( services , configuration . GetSection ( ConfigurationKeys . Templates ) ) ;
75
76
}
76
77
77
78
public static IServiceCollection ConfigureInProcessFeatures ( this IServiceCollection services , IConfiguration configuration )
78
79
{
79
- services . Configure < CallStacksOptions > ( configuration . GetSection ( ConfigurationKeys . InProcessFeatures_CallStacks ) )
80
+ BindingExtensions . Configure < CallStacksOptions > ( services , configuration . GetSection ( ConfigurationKeys . InProcessFeatures_CallStacks ) )
80
81
. AddSingleton < IPostConfigureOptions < CallStacksOptions > , CallStacksPostConfigureOptions > ( ) ;
81
82
82
- services . Configure < ExceptionsOptions > ( configuration . GetSection ( ConfigurationKeys . InProcessFeatures_Exceptions ) )
83
+ BindingExtensions . Configure < ExceptionsOptions > ( services , configuration . GetSection ( ConfigurationKeys . InProcessFeatures_Exceptions ) )
83
84
. AddSingleton < IPostConfigureOptions < ExceptionsOptions > , ExceptionsPostConfigureOptions > ( ) ;
84
85
85
- services . Configure < ParameterCapturingOptions > ( configuration . GetSection ( ConfigurationKeys . InProcessFeatures_ParameterCapturing ) )
86
+ BindingExtensions . Configure < ParameterCapturingOptions > ( services , configuration . GetSection ( ConfigurationKeys . InProcessFeatures_ParameterCapturing ) )
86
87
. AddSingleton < IPostConfigureOptions < ParameterCapturingOptions > , ParameterCapturingPostConfigureOptions > ( ) ;
87
88
88
- services . Configure < InProcessFeaturesOptions > ( configuration . GetSection ( ConfigurationKeys . InProcessFeatures ) )
89
+ BindingExtensions . Configure < InProcessFeaturesOptions > ( services , configuration . GetSection ( ConfigurationKeys . InProcessFeatures ) )
89
90
. AddSingleton < InProcessFeaturesService > ( )
90
91
. AddSingleton < IEndpointInfoSourceCallbacks , InProcessFeaturesEndpointInfoSourceCallbacks > ( ) ;
91
92
@@ -94,7 +95,7 @@ public static IServiceCollection ConfigureInProcessFeatures(this IServiceCollect
94
95
95
96
public static IServiceCollection ConfigureMetrics ( this IServiceCollection services , IConfiguration configuration )
96
97
{
97
- return services . Configure < MetricsOptions > ( configuration . GetSection ( ConfigurationKeys . Metrics ) )
98
+ return BindingExtensions . Configure < MetricsOptions > ( services , configuration . GetSection ( ConfigurationKeys . Metrics ) )
98
99
. AddSingleton < IValidateOptions < MetricsOptions > , DataAnnotationValidateOptions < MetricsOptions > > ( )
99
100
. AddSingleton < MetricsStoreService > ( )
100
101
. AddHostedService < MetricsService > ( )
@@ -103,7 +104,7 @@ public static IServiceCollection ConfigureMetrics(this IServiceCollection servic
103
104
104
105
public static IServiceCollection ConfigureMonitorApiKeyOptions ( this IServiceCollection services , IConfiguration configuration , bool allowConfigurationUpdates )
105
106
{
106
- services . Configure < MonitorApiKeyOptions > ( configuration . GetSection ( ConfigurationKeys . MonitorApiKey ) ) ;
107
+ BindingExtensions . Configure < MonitorApiKeyOptions > ( services , configuration . GetSection ( ConfigurationKeys . MonitorApiKey ) ) ;
107
108
108
109
// Loads and validates MonitorApiKeyOptions into MonitorApiKeyConfiguration
109
110
services . AddSingleton < IPostConfigureOptions < MonitorApiKeyConfiguration > , MonitorApiKeyPostConfigure > ( ) ;
@@ -237,7 +238,7 @@ public static IServiceCollection RegisterCollectionRuleTrigger<TFactory, TOption
237
238
238
239
public static IServiceCollection ConfigureStorage ( this IServiceCollection services , IConfiguration configuration )
239
240
{
240
- services . Configure < StorageOptions > ( configuration . GetSection ( ConfigurationKeys . Storage ) ) ;
241
+ BindingExtensions . Configure < StorageOptions > ( services , configuration . GetSection ( ConfigurationKeys . Storage ) ) ;
241
242
services . AddSingleton < IPostConfigureOptions < StorageOptions > , StoragePostConfigureOptions > ( ) ;
242
243
return services ;
243
244
}
@@ -255,7 +256,7 @@ public static IServiceCollection ConfigureCapabilities(this IServiceCollection s
255
256
256
257
public static IServiceCollection ConfigureDefaultProcess ( this IServiceCollection services , IConfiguration configuration )
257
258
{
258
- return services . Configure < ProcessFilterOptions > ( configuration . GetSection ( ConfigurationKeys . DefaultProcess ) ) ;
259
+ return BindingExtensions . Configure < ProcessFilterOptions > ( services , configuration . GetSection ( ConfigurationKeys . DefaultProcess ) ) ;
259
260
}
260
261
261
262
public static IServiceCollection ConfigureExtensions ( this IServiceCollection services )
@@ -333,7 +334,7 @@ public static IServiceCollection ConfigureEgress(this IServiceCollection service
333
334
334
335
public static IServiceCollection ConfigureDiagnosticPort ( this IServiceCollection services , IConfiguration configuration )
335
336
{
336
- services . Configure < DiagnosticPortOptions > ( configuration . GetSection ( ConfigurationKeys . DiagnosticPort ) ) ;
337
+ BindingExtensions . Configure < DiagnosticPortOptions > ( services , configuration . GetSection ( ConfigurationKeys . DiagnosticPort ) ) ;
337
338
services . AddSingleton < IPostConfigureOptions < DiagnosticPortOptions > , DiagnosticPortPostConfigureOptions > ( ) ;
338
339
services . AddSingleton < IValidateOptions < DiagnosticPortOptions > , DiagnosticPortValidateOptions > ( ) ;
339
340
0 commit comments