I'd like to create a OnePerSessionBehavior for NInject (v1.0) and I've mostly got it working. The only issue that remains is how to pass in fresh arguments using .WithArguments() as each new session asks for something from the container. Right now I'm keeping a reference to the container as an application variable and therefore the module only ever gets loaded one time so of course the binding only occurs once.
For example, the following returns individual instances of 'Something' for each new session, but the constructor argument passed in to all sessions is the same DateTime.
Bind<ISomething>()
.To<Something>()
.Using<OnePerSessionBehavior>()
.WithArgument("currentDateTime", DateTime.Now);