Question: I have two services IServiceA and IServiceB. The concrete implementation of IServiceB looks like this:

```
public class ServiceB : IServiceB {
    public ServiceB(string path, IServiceA serviceA) { ... }
}

```

So I need to pass in a string and a ServiceA.

I'm kinda stuck how I would do that. I have this right now:

```
var path = _config.Path;
container.RegisterType<IServiceA, ServiceA>();
container.RegisterType<IServiceB, ServiceB>(
            new InjectionConstructor(path, container.Resolve<IServiceA>());

```

This is obviously wrong as I'm actually instantiating a ServiceA and registering a single Instance with all ServiceB's.

How can I tell Unity to always resolve a "fresh" ServiceA? I tried just removing the IServiceA from RegisterType, and that throws an exception telling me there is no `ctor(string)`, which is correct since it's a `ctor(string,IServiceA)`.

Answer: 
It's not particularly well documented, but this appears to work:

```
container.RegisterType<IServiceA, ServiceA>();
container.RegisterType<IServiceB, ServiceB>(
        new InjectionConstructor(path, new ResolvedParameter<IServiceA>()));

```

I would recommend testing it before using it in production.
I believe you also can do:

```
container.RegisterType<IServiceA, ServiceA>();
container.RegisterType<IServiceB, ServiceB>(
        new InjectionConstructor(path, typeof(IServiceA)));

```