I suppose you are using ASP.NET MVC in your project. Then, you just need to implement ASP.NET MVC IDependencyResolver interface which contains only two methods and looks like:
public interface IDependencyResolver
{
object GetService(Type serviceType);
IEnumerable<object> GetServices(Type serviceType);
}
Your implementation should take two parameters into its constructor: Autofac dependency resolver and StructureMap dependency resolver. It could look like this:
public class CombinedDependencyResolver : IDependencyResolver
{
private readonly AutofacDependencyResolver _autofacDependencyResolver;
private readonly StructureMapDependencyResolver _structureMapDependencyResolver;
public CombinedDependencyResolver(AutofacDependencyResolver autofacDependencyResolver, StructureMapDependencyResolver structureMapDependencyResolver)
{
_autofacDependencyResolver = autofacDependencyResolver;
_structureMapDependencyResolver = structureMapDependencyResolver;
}
public object GetService(Type serviceType)
{
// your logic here
_structureMapDependencyResolver.GetService(serviceType);
_autofacDependencyResolver.GetService(serviceType);
return new object();
}
public IEnumerable<object> GetServices(Type serviceType)
{
// your logic here
return null;
}
}
Then implement IDependencyResolver's methods according to your logic and resolve dependencies either from AutofacDependencyResolver or StructureMapDependencyResolver.