MediatRServiceConfiguration.AddOpenBehavior(type) assumed that the type parameter implemented IPipelineBehavior<,>. It now supports IStreamPipelineBehavior<,> and throws an InvalidOperationException the type parameter is not actually an open behavior. Added multiple tests.
TryAddTransientExact was replaced by the built-in IServiceCollection.TryAddEnumerable that does the exact same thing, i.e. skip a registration if there's already a service descriptor that exactly match the service type AND implementation type. Modified an existing test to prove that everything behaves as before.
MediatRServiceConfiguration.BehaviorsToRegister consumption now use TryAddEnumerable too. Covered by the modified test from the previous point.
Apply the 11.x to 12.x migration guide in test classes: several test open behaviors were not using the right generic constraint, which is now TRequest : notnull.
What's changed:
MediatRServiceConfiguration.AddOpenBehavior(type)
assumed that the type parameter implementedIPipelineBehavior<,>
. It now supportsIStreamPipelineBehavior<,>
and throws anInvalidOperationException
the type parameter is not actually an open behavior. Added multiple tests.TryAddTransientExact
was replaced by the built-inIServiceCollection.TryAddEnumerable
that does the exact same thing, i.e. skip a registration if there's already a service descriptor that exactly match the service type AND implementation type. Modified an existing test to prove that everything behaves as before.MediatRServiceConfiguration.BehaviorsToRegister
consumption now useTryAddEnumerable
too. Covered by the modified test from the previous point.Apply the 11.x to 12.x migration guide in test classes: several test open behaviors were not using the right generic constraint, which is now
TRequest : notnull
.