When using Endpoint Routing and ASP .NET Core IOC you’ll need to switch to constructor injection, e.g:
public class SecurityService(IAutoQueryDb autoQuery) : Service
{
public object Get(QueryUserPermission request) => ...;
}
Optional dependencies can use [Service] attribute property injection, but required dependencies should switch to constructor injection.
You’ll also need to register all plugins with services.AddPlugin so that their dependencies are also registered in ASP .NET IOC.
Either in Program.cs
builder.Services.AddPlugin(new AdminDatabaseFeature());
Or in ConfigureServices()
in your Modular Startup config classes:
public class ConfigureDb : IHostingStartup
{
public void Configure(IWebHostBuilder builder) => builder
.ConfigureServices((context, services) => {
services.AddPlugin(new AutoQueryFeature {
MaxLimit = 1000,
});
});
}