Dependency injection is an all or nothing affair. If you're going to use DI, then you always use DI and virtually never manually new up anything (except basic classes like entities with no dependencies). In other words, if your controller is instantiating things that take dependencies, those things should be registered in the service collection and injected into the controller instead. For example, assuming you're doing something like:
public HomeController(IOptions<AppSettings> appSettings)
{
_appSettings = appSettings.Value;
}
public IActionResult Foo()
{
var service = new FooService(_appSettings);
// do something
}
Then, you should add in your ConfigureServices:
services.AddScoped<FooService>();
And in your controller, you should instead be doing:
public HomeController(FooService fooService)
{
_fooService = fooService
}
The service collection will take care of injecting your options into the service, since the service itself has a dependency on that.