Freigeben über


ServiceCollectionMap Klasse

Definition

Stellt eine Zuordnung über einer IServiceCollection bereit, mit ServiceDescriptor der Einträge bedingt hinzugefügt oder neu geschrieben werden können, ohne dass bei jeder Dieser Vorgang lineare Überprüfungen der Dienstsammlung erforderlich sind.

public class ServiceCollectionMap : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Internal.InternalServiceCollectionMap>
public class ServiceCollectionMap : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Infrastructure.IInternalServiceCollectionMap>
type ServiceCollectionMap = class
    interface IInfrastructure<InternalServiceCollectionMap>
type ServiceCollectionMap = class
    interface IInfrastructure<IInternalServiceCollectionMap>
Public Class ServiceCollectionMap
Implements IInfrastructure(Of InternalServiceCollectionMap)
Public Class ServiceCollectionMap
Implements IInfrastructure(Of IInternalServiceCollectionMap)
Vererbung
ServiceCollectionMap
Implementiert
IInfrastructure<Microsoft.EntityFrameworkCore.Internal.InternalServiceCollectionMap> IInfrastructure<IInternalServiceCollectionMap>

Hinweise

Beachten Sie, dass die Auflistung nicht ohne auf andere Weise geändert werden sollte, während sie von der Karte verwaltet wird. Die Sammlung kann normal verwendet werden, nachdem änderungen mit der Karte abgeschlossen wurden.

Weitere Informationen und Beispiele finden Sie unter Implementierung von Datenbankanbietern und -erweiterungen .

Konstruktoren

ServiceCollectionMap(IServiceCollection)

Erstellt einen neuen ServiceCollectionMap , um mit dem angegebenen IServiceCollectionzu arbeiten.

Eigenschaften

ServiceCollection

Der zugrundeliegende IServiceCollection.

Methoden

TryAdd(Type, Func<IServiceProvider,Object>, ServiceLifetime)

Fügt einen von der angegebenen Factory implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAdd(Type, Type, ServiceLifetime)

Fügt einen vom angegebenen konkreten Typ implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddEnumerable(Type, Type, Func<IServiceProvider,Object>, ServiceLifetime)

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen von der angegebenen Factory implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddEnumerable(Type, Type, ServiceLifetime)

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen vom angegebenen konkreten Typ implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddScoped(Type, Func<IServiceProvider,Object>)

Fügt einen Scoped von der angegebenen Factory implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddScoped(Type, Type)

Fügt einen Scoped vom angegebenen konkreten Typ implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddScoped<TService,TImplementation>()

Fügt einen Scoped vom angegebenen konkreten Typ implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddScoped<TService,TImplementation>(Func<IServiceProvider,TImplementation>)

Fügt einen Scoped von der angegebenen Factory implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddScoped<TService>(Func<IServiceProvider,TService>)

Fügt einen Scoped von der angegebenen Factory implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddScopedEnumerable(Type, Type)

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Scoped vom angegebenen konkreten Typ implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddScopedEnumerable<TService,TImplementation>()

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Scoped vom angegebenen konkreten Typ implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddScopedEnumerable<TService,TImplementation>(Func<IServiceProvider,TImplementation>)

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Scoped von der angegebenen Factory implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddSingleton(Type, Func<IServiceProvider,Object>)

Fügt einen Singleton von der angegebenen Factory implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddSingleton(Type, Object)

Fügt einen Singleton vom angegebenen instance implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddSingleton(Type, Type)

Fügt einen Singleton vom angegebenen konkreten Typ implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddSingleton<TService,TImplementation>()

Fügt einen Singleton vom angegebenen konkreten Typ implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddSingleton<TService,TImplementation>(Func<IServiceProvider,TImplementation>)

Fügt einen Singleton von der angegebenen Factory implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddSingleton<TService>(Func<IServiceProvider,TService>)

Fügt einen Singleton von der angegebenen Factory implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddSingleton<TService>(TService)

Fügt einen Singleton vom angegebenen instance implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddSingletonEnumerable(Type, Object)

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Singleton vom angegebenen instance implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddSingletonEnumerable(Type, Type)

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Singleton vom angegebenen konkreten Typ implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddSingletonEnumerable<TService,TImplementation>()

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Singleton vom angegebenen konkreten Typ implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddSingletonEnumerable<TService,TImplementation>(Func<IServiceProvider,TImplementation>)

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Singleton von der angegebenen Factory implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddSingletonEnumerable<TService>(TService)

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Singleton vom angegebenen instance implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddTransient(Type, Func<IServiceProvider,Object>)

Fügt einen Transient von der angegebenen Factory implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddTransient(Type, Type)

Fügt einen Transient vom angegebenen konkreten Typ implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddTransient<TService,TImplementation>()

Fügt einen Transient vom angegebenen konkreten Typ implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddTransient<TService,TImplementation>(Func<IServiceProvider,TImplementation>)

Fügt einen Transient von der angegebenen Factory implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddTransient<TService>(Func<IServiceProvider,TService>)

Fügt einen Transient von der angegebenen Factory implementierten Dienst hinzu, wenn bereits kein Dienst für den angegebenen Diensttyp registriert wurde.

TryAddTransientEnumerable(Type, Type)

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Transient vom angegebenen konkreten Typ implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddTransientEnumerable<TService,TImplementation>()

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Transient vom angegebenen konkreten Typ implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

TryAddTransientEnumerable<TService,TImplementation>(Func<IServiceProvider,TImplementation>)

Fügt der Liste der Dienste, die den angegebenen Vertrag implementieren, einen Transient von der angegebenen Factory implementierten Dienst hinzu. Der Dienst wird nur hinzugefügt, wenn die Auflistung keine andere Registrierung für denselben Dienst und denselben Implementierungstyp enthält.

Explizite Schnittstellenimplementierungen

IInfrastructure<IInternalServiceCollectionMap>.Instance

Stellt eine Zuordnung über einer IServiceCollection bereit, mit ServiceDescriptor der Einträge bedingt hinzugefügt oder neu geschrieben werden können, ohne dass bei jeder Dieser Vorgang lineare Überprüfungen der Dienstsammlung erforderlich sind.

IInfrastructure<InternalServiceCollectionMap>.Instance

Stellt eine Zuordnung über einer IServiceCollection bereit, mit ServiceDescriptor der Einträge bedingt hinzugefügt oder neu geschrieben werden können, ohne dass bei jeder Dieser Vorgang lineare Überprüfungen der Dienstsammlung erforderlich sind.

Erweiterungsmethoden

GetInfrastructure<T>(IInfrastructure<T>)

Ruft den Wert aus einer Eigenschaft ab, die mit IInfrastructure<T>ausgeblendet wird.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

Gilt für: