In Simple Injector I can do the following:
container.RegisterSingle<IAuctionContext>(() => new AuctionContext(
new Uri("http://localhost:60001/AuctionDataService.svc/")));
What I am doing here is saying that when IAuctionContext
is found, replace it with this new AuctionContext
. The problem is that with the call to RegisterSingle
, only a single instance of AuctionContext
will be used. What I'd like it to be able to pass in a Uri
parameter as above but not have the single instance but allow a new instance each time.
How is this possible?
The value you are trying to inject is a simple hard-coded value. For constant values like hard-coded values and configuration values, just use the
Register
method:The
Register
method ensures a new instance is returned each time.When it comes to injecting values that could change during the course of the application, please read this article about injecting runtime data.