Bagikan melalui


ServiceCollectionMap Kelas

Definisi

Menyediakan peta atas IServiceCollection yang memungkinkan ServiceDescriptor entri ditambahkan atau ditulis ulang secara kondisional tanpa memerlukan pemindaian linier pengumpulan layanan setiap kali ini dilakukan.

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)
Warisan
ServiceCollectionMap
Penerapan
IInfrastructure<Microsoft.EntityFrameworkCore.Internal.InternalServiceCollectionMap> IInfrastructure<IInternalServiceCollectionMap>

Keterangan

Perhatikan bahwa koleksi tidak boleh dimodifikasi tanpa dengan cara lain saat dikelola oleh peta. Koleksi dapat digunakan dengan cara normal setelah modifikasi menggunakan peta telah selesai.

Lihat Implementasi penyedia dan ekstensi database untuk informasi dan contoh selengkapnya.

Konstruktor

ServiceCollectionMap(IServiceCollection)

Membuat baru ServiceCollectionMap untuk beroperasi pada yang diberikan IServiceCollection.

Properti

ServiceCollection

Yang mendasar IServiceCollection.

Metode

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

Menambahkan layanan yang diimplementasikan oleh pabrik tertentu jika tidak ada layanan untuk jenis layanan yang diberikan yang telah terdaftar.

TryAdd(Type, Type, ServiceLifetime)

Menambahkan layanan yang diimplementasikan oleh jenis beton yang diberikan jika tidak ada layanan untuk jenis layanan yang diberikan telah terdaftar.

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

Menambahkan layanan yang diimplementasikan oleh pabrik yang diberikan ke daftar layanan yang menerapkan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

TryAddEnumerable(Type, Type, ServiceLifetime)

Menambahkan layanan yang diimplementasikan oleh jenis konkret yang diberikan ke daftar layanan yang mengimplementasikan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

TryAddScoped(Type, Func<IServiceProvider,Object>)

Menambahkan layanan yang Scoped diimplementasikan oleh pabrik tertentu jika tidak ada layanan untuk jenis layanan yang diberikan yang telah terdaftar.

TryAddScoped(Type, Type)

Menambahkan layanan yang Scoped diimplementasikan oleh jenis beton yang diberikan jika tidak ada layanan untuk jenis layanan yang diberikan telah terdaftar.

TryAddScoped<TService,TImplementation>()

Menambahkan layanan yang Scoped diimplementasikan oleh jenis beton yang diberikan jika tidak ada layanan untuk jenis layanan yang diberikan telah terdaftar.

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

Menambahkan layanan yang Scoped diimplementasikan oleh pabrik tertentu jika tidak ada layanan untuk jenis layanan yang diberikan yang telah terdaftar.

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

Menambahkan layanan yang Scoped diimplementasikan oleh pabrik tertentu jika tidak ada layanan untuk jenis layanan yang diberikan yang telah terdaftar.

TryAddScopedEnumerable(Type, Type)

Menambahkan layanan yang Scoped diimplementasikan oleh jenis konkret yang diberikan ke daftar layanan yang mengimplementasikan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

TryAddScopedEnumerable<TService,TImplementation>()

Menambahkan layanan yang Scoped diimplementasikan oleh jenis konkret yang diberikan ke daftar layanan yang mengimplementasikan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

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

Menambahkan layanan yang Scoped diimplementasikan oleh pabrik yang diberikan ke daftar layanan yang menerapkan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

TryAddSingleton(Type, Func<IServiceProvider,Object>)

Menambahkan layanan yang Singleton diimplementasikan oleh pabrik tertentu jika tidak ada layanan untuk jenis layanan yang diberikan yang telah terdaftar.

TryAddSingleton(Type, Object)

Menambahkan layanan yang Singleton diimplementasikan oleh instans yang diberikan jika tidak ada layanan untuk jenis layanan tertentu yang telah terdaftar.

TryAddSingleton(Type, Type)

Menambahkan layanan yang Singleton diimplementasikan oleh jenis beton yang diberikan jika tidak ada layanan untuk jenis layanan yang diberikan telah terdaftar.

TryAddSingleton<TService,TImplementation>()

Menambahkan layanan yang Singleton diimplementasikan oleh jenis beton yang diberikan jika tidak ada layanan untuk jenis layanan yang diberikan telah terdaftar.

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

Menambahkan layanan yang Singleton diimplementasikan oleh pabrik tertentu jika tidak ada layanan untuk jenis layanan yang diberikan yang telah terdaftar.

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

Menambahkan layanan yang Singleton diimplementasikan oleh pabrik tertentu jika tidak ada layanan untuk jenis layanan yang diberikan yang telah terdaftar.

TryAddSingleton<TService>(TService)

Menambahkan layanan yang Singleton diimplementasikan oleh instans yang diberikan jika tidak ada layanan untuk jenis layanan tertentu yang telah terdaftar.

TryAddSingletonEnumerable(Type, Object)

Menambahkan layanan yang Singleton diimplementasikan oleh instans yang diberikan ke daftar layanan yang menerapkan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

TryAddSingletonEnumerable(Type, Type)

Menambahkan layanan yang Singleton diimplementasikan oleh jenis konkret yang diberikan ke daftar layanan yang mengimplementasikan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

TryAddSingletonEnumerable<TService,TImplementation>()

Menambahkan layanan yang Singleton diimplementasikan oleh jenis konkret yang diberikan ke daftar layanan yang mengimplementasikan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

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

Menambahkan layanan yang Singleton diimplementasikan oleh pabrik yang diberikan ke daftar layanan yang menerapkan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

TryAddSingletonEnumerable<TService>(TService)

Menambahkan layanan yang Singleton diimplementasikan oleh instans yang diberikan ke daftar layanan yang menerapkan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

TryAddTransient(Type, Func<IServiceProvider,Object>)

Menambahkan layanan yang Transient diimplementasikan oleh pabrik tertentu jika tidak ada layanan untuk jenis layanan yang diberikan yang telah terdaftar.

TryAddTransient(Type, Type)

Menambahkan layanan yang Transient diimplementasikan oleh jenis beton yang diberikan jika tidak ada layanan untuk jenis layanan yang diberikan telah terdaftar.

TryAddTransient<TService,TImplementation>()

Menambahkan layanan yang Transient diimplementasikan oleh jenis beton yang diberikan jika tidak ada layanan untuk jenis layanan yang diberikan telah terdaftar.

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

Menambahkan layanan yang Transient diimplementasikan oleh pabrik tertentu jika tidak ada layanan untuk jenis layanan yang diberikan yang telah terdaftar.

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

Menambahkan layanan yang Transient diimplementasikan oleh pabrik tertentu jika tidak ada layanan untuk jenis layanan yang diberikan yang telah terdaftar.

TryAddTransientEnumerable(Type, Type)

Menambahkan layanan yang Transient diimplementasikan oleh jenis konkret yang diberikan ke daftar layanan yang mengimplementasikan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

TryAddTransientEnumerable<TService,TImplementation>()

Menambahkan layanan yang Transient diimplementasikan oleh jenis konkret yang diberikan ke daftar layanan yang mengimplementasikan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

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

Menambahkan layanan yang Transient diimplementasikan oleh pabrik yang diberikan ke daftar layanan yang menerapkan kontrak yang diberikan. Layanan ini hanya ditambahkan jika koleksi tidak berisi pendaftaran lain untuk layanan dan jenis implementasi yang sama.

Implementasi Antarmuka Eksplisit

IInfrastructure<IInternalServiceCollectionMap>.Instance

Menyediakan peta atas IServiceCollection yang memungkinkan ServiceDescriptor entri ditambahkan atau ditulis ulang secara kondisional tanpa memerlukan pemindaian linier pengumpulan layanan setiap kali ini dilakukan.

IInfrastructure<InternalServiceCollectionMap>.Instance

Menyediakan peta atas IServiceCollection yang memungkinkan ServiceDescriptor entri ditambahkan atau ditulis ulang secara kondisional tanpa memerlukan pemindaian linier pengumpulan layanan setiap kali ini dilakukan.

Metode Ekstensi

GetInfrastructure<T>(IInfrastructure<T>)

Mendapatkan nilai dari properti yang sedang disembunyikan menggunakan IInfrastructure<T>.

Metode ini biasanya digunakan oleh penyedia database (dan ekstensi lainnya). Umumnya tidak digunakan dalam kode aplikasi.

Berlaku untuk