GRPC API :
internal class XYZ: Baseclass(Base class for Server-side implementation of Proto file)
{
private IServiceProvider _provider;
public XYZ( IServiceProvider provider)
{
_provider = provider;
}
}
Аналогично для API остальных:
[Route("[controller]")]
[ApiController]
public class ABC : ControllerBase
{
public ABC(IServiceProvider provider)
{
_provider = provider;
}
}
Я определяю ServiceProvider в файле запуска в методе Configure.
var collection = new ServiceCollection();
collection.AddSingleton<TService, Implementation>();
var provider = collection.BuildServiceProvider();
Server server = new Server
{
Services = { Proto.BindService(new XYZ(provider)) },
Ports = { new ServerPort("0.0.0.0", Port, ServerCredentials.Insecure) }
};
Таким образом, когда я запускаю проект, я могу использовать свой сервис в классе контроллера grpc (XYZ), где же возвращается исключение в случае конструктора Rest Api.Исключение составляет: «Сервис типа TService не зарегистрирован».Так есть ли способ использовать провайдера в обоих конструкторах.? 100100