Spyglass.AspNetCore.Autofac
0.2.1
dotnet add package Spyglass.AspNetCore.Autofac --version 0.2.1
NuGet\Install-Package Spyglass.AspNetCore.Autofac -Version 0.2.1
<PackageReference Include="Spyglass.AspNetCore.Autofac" Version="0.2.1" />
<PackageVersion Include="Spyglass.AspNetCore.Autofac" Version="0.2.1" />
<PackageReference Include="Spyglass.AspNetCore.Autofac" />
paket add Spyglass.AspNetCore.Autofac --version 0.2.1
#r "nuget: Spyglass.AspNetCore.Autofac, 0.2.1"
#:package Spyglass.AspNetCore.Autofac@0.2.1
#addin nuget:?package=Spyglass.AspNetCore.Autofac&version=0.2.1
#tool nuget:?package=Spyglass.AspNetCore.Autofac&version=0.2.1
Spyglass.AspNetCore.Autofac
Autofac integration for the Spyglass observability dashboard. Surfaces native Autofac registrations alongside IServiceCollection services in the Spyglass Services tab.
Installation
dotnet add package Spyglass.AspNetCore.Autofac
Requires Spyglass.AspNetCore.
Setup
Configure Autofac as the service provider factory, call .AddAutofac() on the Spyglass builder, then register your Autofac services as usual:
using Autofac;
using Autofac.Extensions.DependencyInjection;
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
builder.Services.AddSpyglass()
.AddAutofac();
builder.Host.ConfigureContainer<ContainerBuilder>(container =>
{
container.RegisterType<SlackNotifier>().As<INotifier>().SingleInstance();
container.RegisterType<AuditLog>().As<IAuditLog>().InstancePerLifetimeScope();
container.RegisterType<FeatureFlags>().As<IFeatureFlags>().InstancePerDependency();
});
What it does
A hosted service runs once at startup and walks the Autofac IComponentRegistry, merging any registrations that were not already captured from IServiceCollection into the Spyglass services snapshot.
Native Autofac registrations appear in the Services tab tagged with an autofac source badge. Their lifetimes are shown using Autofac's own terminology:
| Autofac lifetime | Displayed as |
|---|---|
SingleInstance |
SingleInstance |
InstancePerLifetimeScope |
InstancePerLifetimeScope |
InstancePerDependency |
InstancePerDependency |
InstancePerMatchingLifetimeScope |
InstancePerMatchingLifetimeScope |
Registrations bridged from IServiceCollection into Autofac are deduplicated automatically — each service appears only once in the list.
Factory registrations (where the implementation type is not known statically) are labelled as Factory.
All other Services tab features work normally for Autofac entries: constructor dependency list, hosted / disposable / open-generic / ×N badges, and the dependents count.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net8.0
- Autofac (>= 9.1.0)
- Spyglass.AspNetCore (>= 0.2.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
See CHANGELOG.md at https://github.com/jhuessen/spyglass/blob/main/CHANGELOG.md