У меня есть два контроллера:
namespace V1
{
[ApiVersion("1.0")]
public class SomeController : Controller
{
public SomeController(IProvider provider) { }
}
}
namespace V2
{
[ApiVersion("2.0")]
public class SomeController : Controller
{
public SomeController(IProvider provider) { }
}
}
И следующие сервисы:
public interface IStorage { }
public interface IProvider { }
public class V1Storage : IStorage { }
public class V2Storage : IStorage { }
public class Provider : IProvider
{
public Provider(IStorage storage) { }
}
Для первой версии контроллера мне нужно использовать V1Storage
, для второй - V2Storage
.Я знаю, что есть способ заменить DefaultControllerFactory
, но как лучше его реализовать?