Interface IBowireServiceContribution

Namespace
Kuestenlogik.Bowire.Plugins
Assembly
Kuestenlogik.Bowire.dll

Contract a Bowire-sibling package implements to register its services into the host's IServiceCollection at AddBowire() time (#325, v2.1).

public interface IBowireServiceContribution

Remarks

Introduced when Welle 2 of the v2.1 package cleanup lifted the interceptor surface out of Core into Kuestenlogik.Bowire.Interceptor. Core's BowireServiceCollectionExtensions.AddBowire no longer calls the interceptor's AddBowireInterceptorCore directly — it discovers every public implementation of this interface from loaded Kuestenlogik.Bowire.* assemblies and invokes ConfigureServices(IServiceCollection) on each.

Implementations must have a parameterless constructor; implementations are expected to be idempotent (TryAddSingleton where appropriate) because a host that explicitly opted in via app.UseBowireInterceptor() already registered the supporting services.

Failure to configure (any exception escaping ConfigureServices(IServiceCollection)) is swallowed silently — same posture as the IBowireProtocolServices auto-discovery pass. A misbehaving plugin can't take down host startup.

Methods

ConfigureServices(IServiceCollection)

Register this contribution's services. Called once per host startup from BowireServiceCollectionExtensions.AddBowire.

void ConfigureServices(IServiceCollection services)

Parameters

services IServiceCollection

The host's service collection.