Table of Contents

ServiceCollectionExtensions Class

Definition

Extension methods for the IServiceCollection interface.

public static class ServiceCollectionExtensions
Inheritance
ServiceCollectionExtensions

Examples

The following example demonstrates how to use the ServiceCollectionExtensions extension methods to configure diagnostics and fault handling in an ASP.NET Core application.

using System;
using Cuemon.AspNetCore.Diagnostics;
using Cuemon.Diagnostics;
using Cuemon.Extensions.AspNetCore.Diagnostics;
using Microsoft.Extensions.DependencyInjection;

namespace MyAspNetCoreApp
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            // Add ServerTiming service for performance profiling
            services.AddServerTiming(options =>
            {
                options.TimeMeasureCompletedThreshold = TimeSpan.FromMilliseconds(10);
            });

            // Configure FaultDescriptor options (exception handling)
            services.AddFaultDescriptorOptions(options =>
            {
                options.SensitivityDetails = FaultSensitivityDetails.All;
                options.RootHelpLink = new Uri("https://example.com/help");
            });

            // Configure ExceptionDescriptor options
            services.AddExceptionDescriptorOptions(options =>
            {
                options.SensitivityDetails = FaultSensitivityDetails.None;
            });

            // Configure ServerTiming options separately
            services.AddServerTimingOptions(options =>
            {
                options.TimeMeasureCompletedThreshold = TimeSpan.FromMilliseconds(50);
            });

            // Post-configure all IExceptionDescriptorOptions instances
            services.PostConfigureAllExceptionDescriptorOptions(options =>
            {
                options.SensitivityDetails = FaultSensitivityDetails.FailureWithStackTrace;
            });

}}
}

Methods

Name Description
AddExceptionDescriptorOptions(IServiceCollection, Action<ExceptionDescriptorOptions>)

Registers the specified setup to configure ExceptionDescriptorOptions in the services collection.

AddFaultDescriptorOptions(IServiceCollection, Action<FaultDescriptorOptions>)

Registers the specified setup to configure FaultDescriptorOptions in the services collection.

AddServerTiming(IServiceCollection, Action<ServerTimingOptions>)

Adds a ServerTiming service to the specified IServiceCollection.

AddServerTimingOptions(IServiceCollection, Action<ServerTimingOptions>)

Registers the specified setup to configure ServerTimingOptions in the services collection.

AddServerTiming<T>(IServiceCollection, Action<ServerTimingOptions>)

Adds an implementation of IServerTiming service to the specified IServiceCollection.

PostConfigureAllExceptionDescriptorOptions(IServiceCollection, Action<IExceptionDescriptorOptions>)

Registers an action used to post-configure all instances of IExceptionDescriptorOptions in the services collection. These are run after Configure<TOptions>(IServiceCollection, Action<TOptions>).