FileHub.DependencyInjection
2.0.0
dotnet add package FileHub.DependencyInjection --version 2.0.0
NuGet\Install-Package FileHub.DependencyInjection -Version 2.0.0
<PackageReference Include="FileHub.DependencyInjection" Version="2.0.0" />
<PackageVersion Include="FileHub.DependencyInjection" Version="2.0.0" />
<PackageReference Include="FileHub.DependencyInjection" />
paket add FileHub.DependencyInjection --version 2.0.0
#r "nuget: FileHub.DependencyInjection, 2.0.0"
#:package FileHub.DependencyInjection@2.0.0
#addin nuget:?package=FileHub.DependencyInjection&version=2.0.0
#tool nuget:?package=FileHub.DependencyInjection&version=2.0.0
FileHub.DependencyInjection
Microsoft.Extensions.DependencyInjection integration for FileHub — register one or many IFileHub instances on IServiceCollection and resolve them by name at runtime, with first-class lifetime support.
Heads up: FileHub is a young library. The API is stabilizing but rough edges are likely — bug reports, feedback, and PRs are very welcome on the issue tracker.
Install
dotnet add package FileHub.DependencyInjection
Single hub
using FileHub.Local;
services.AddFileHub<IFileHub>(_ => new LocalFileHub(@"C:\data"));
Named hubs (tenants, multi-backend)
services.AddNamedFileHubs(b => b
.Register("reports", new MemoryFileHub())
.Register(
"tenant",
sp => new LocalFileHub($@"C:\tenants\{sp.GetRequiredService<ITenantContext>().Id}"),
ServiceLifetime.Scoped));
public class ReportService(INamedFileHubs hubs)
{
private readonly IFileHub _tenant = hubs.GetByName("tenant");
}
Lifetimes (Singleton, Scoped, Transient) are honored per registration. Scoped registrations let you resolve per-request services (e.g. a tenant context) inside the factory.
Documentation
See Dependency Injection on the wiki.
License
MIT — see LICENSE.txt.
| 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 is compatible. 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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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
- FileHub (>= 2.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
-
net8.0
- FileHub (>= 2.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.