I would ask if your object absolutely has to be a singleton. If it doesn't have to be a singleton, then don't make it a singleton and rely on your container to construct it. The problem you are having is because dependency injection relies on inversion of control, and singletons typically construct themselves.
Many containers will take responsibility for the lifecycle of the objects they construct. If yours does, you might be able to instruct it to only use a single instance of your object. If I'm reading your question correctly, however, you really need a new instance of the objectwith each request since the state (the service) is different per request.
In short, use singleton as a last resort because it causes the type of problem that you're experiencing now. If you are locked in to that pattern, consider not injecting the service but passing it as a parameter. If you introduce it to state, you'll have concurrency problems with multiple simultaneous requests needing different instances of the service.