In Ninject, not specifying the scope means InTransientScope()
.
Your choices are to either duplicate the bindings or create a custom InScope()
scoping rule for the binding.
The cleanest solution (especially given that MVC is already in play) is for you to create a plugin that slots into the InRequestScope()
mechanism.
There is a CreateScope()
method which currently has minimal documentation in the ninject.extensions.namedscope README, which is used like this. It requires you to select 'Include Prerelease' in NuGet. (And I should be writing a wiki article on it but I have too many other things on my plate...)