Comments (2)
I encountered something similar with this. The decoration was happening in two places for me. The first being what you have above, the second being within an instance of IDependencyResolver
. Inside BeginScope()
the app creates a child/nested container, which only lives for the request, but also registers the decoration.
Sorry I can't be too specific right now, but hopefully that will point you in the right direction.
from mediatr.
Thanks. Changed the default BeginScope to the following and it works, not sure if it's the right way though, and seems like you don't have to do it in DefaultRegistry.
public IDependencyScope BeginScope()
{
//IContainer child = this.Container.GetNestedContainer();
//return new StructureMapWebApiDependencyResolver(child);
var resolver = new StructureMapWebApiDependencyResolver(CurrentNestedContainer);
ServiceLocatorProvider provider = () => resolver;
CurrentNestedContainer.Configure(cfg =>
{
cfg.For<ServiceLocatorProvider>().Use(provider);
cfg.For(typeof(IRequestHandler<,>)).DecorateAllWith(typeof(ValidatorHandler<,>));
});
return resolver;
}
Now look back, turned out SimpleInjector can do it simpler without the extra step. Yesterday I was actually stuck on a different issue, trying to build decorator with a different signature. It was the IValidator[] blow up.
public class ValidationRequestHandler<TRequest, TResponse> : IRequestHandler<TRequest, TResponse>
where TRequest : IRequest<TResponse>
{
private readonly IRequestHandler<TRequest, TResponse> _innerHander;
private readonly IValidator<TRequest>[] _validators;
public ValidationRequestHandler(IRequestHandler<TRequest, TResponse> innerHandler,
IValidator<TRequest>[] validators)
{
_validators = validators;
_innerHander = innerHandler;
}
from mediatr.
Related Issues (20)
- IPipelineBehavior<TRequest, TResponse> does not work in Android, but works in Windows HOT 5
- Would you consider a PR for a Roslyn component? HOT 1
- IPipelineBehavior not being executed when I have custom interface HOT 2
- [Question] DbContextPooling issue with INotifications when publish is executed HOT 4
- Can't get IPipelineBehavior to work in F# HOT 3
- I have problem with IRequestPreProcessor pipeline
- Logging any Exception thrown in a handler HOT 2
- Specify Lifetime in Handlers feature missing HOT 2
- docs: I'm able to edit the wiki HOT 3
- .NET 8 Calling IPublisher.Publish method throws ObjectDisposedException for IServiceProvider HOT 1
- "No service for type 'MediatR.IRequestHandler' has been registered." issue HOT 8
- Can't register MediatR in WorkerService project HOT 1
- Help registering pipeline behavior HOT 2
- Allow for an optional "Order" parameter to be set on implementations of pre, post, and exception handlers. HOT 5
- Issue : Pipelines does not get invoked when command has a mapping profile sub class HOT 1
- MediatR one notification handler HOT 8
- Issues with MediatR on .Net 8 and AWS Lambda HOT 2
- Order of execution of RequestPreProcessorBehavior changed with explicit processor registration? HOT 2
- IoC container issue with .NET 8 & minimal api HOT 3
- Add assembly with handlers without ServiceCollection HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mediatr.