AspNetCore.ServiceRegistration.Dynamic
1.1.0
See the version list below for details.
dotnet add package AspNetCore.ServiceRegistration.Dynamic --version 1.1.0
NuGet\Install-Package AspNetCore.ServiceRegistration.Dynamic -Version 1.1.0
<PackageReference Include="AspNetCore.ServiceRegistration.Dynamic" Version="1.1.0" />
paket add AspNetCore.ServiceRegistration.Dynamic --version 1.1.0
#r "nuget: AspNetCore.ServiceRegistration.Dynamic, 1.1.0"
// Install AspNetCore.ServiceRegistration.Dynamic as a Cake Addin #addin nuget:?package=AspNetCore.ServiceRegistration.Dynamic&version=1.1.0 // Install AspNetCore.ServiceRegistration.Dynamic as a Cake Tool #tool nuget:?package=AspNetCore.ServiceRegistration.Dynamic&version=1.1.0
How do I get started?
First, install the latest version of this NuGet
package into your project as follows:
Install-Package AspNetCore.ServiceRegistration.Dynamic
Using Marker Interface:
Now let your services to inherit any of the ITransientService
, IScoperService
, and ISingletonService
marker interfaces as follows:
// Inherit `IScopedService` interface if you want to register `IEmployeeService` as scoped service.
public class IEmployeeService : IScopedService
{
Task CreateEmployeeAsync(Employee employee);
}
internal class EmployeeService : IEmployeeService
{
public async Task CreateEmployeeAsync(Employee employee)
{
// Implementation here
};
}
Using Attribute:
Now mark your services with any of the ScopedServiceAttribute
, TransientServiceAttribute
, and SingletonServiceAttribute
attributes as follows:
// Mark with ScopedServiceAttribute if you want to register `IEmployeeService` as scoped service.
[ScopedService]
public class IEmployeeService
{
Task CreateEmployeeAsync(Employee employee);
}
internal class EmployeeService : IEmployeeService
{
public async Task CreateEmployeeAsync(Employee employee)
{
// Implementation here
};
}
Now in your ConfigureServices
method of the Startup
class:
public static void ConfigureServices(IServiceCollection services)
{
services.AddServicesOfType<IScopedService>();
services.AddServicesWithAttributeOfType<ScopedServiceAttribute>();
}
For more documentation details, please visit: GitHub Repository
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
This release added to capability of registering all your services into ASP.NET Core Dependency Injection container at once without exposing the service implementation with attribute.
For more details, please visit the GitHub repository.