gRPC-web в Blazor Web Assemby, как внедрить при использовании Grpc.Net.ClientFactory
Это код, который мне подходит для вызова службы gRPC-Web:
var httpClient = new HttpClient(new GrpcWebHandler(GrpcWebMode.GrpcWeb, new HttpClientHandler()));
var channel = Grpc.Net.Client.GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions { HttpClient = httpClient });
return channel.CreateGrpcService<MyService>();
Теперь на основе этого документа "Интеграция фабрики клиента gRPC в.NET Core" https://docs.microsoft.com/en-us/aspnet/core/grpc/clientfactory?view=aspnetcore-3.0
Вместо этого я пытаюсь ввести зависимости:
builder.Services.AddGrpcClient<Application.Services.ICustomerService>(o =>
{
o.Address = new Uri("https://localhost:5001");
}).ConfigurePrimaryHttpMessageHandler(() =>
{
var handler = new GrpcWebHandler(GrpcWebMode.GrpcWeb, new HttpClientHandler());
return handler;
});
Но это не сработает. Я также использую protobuf-net. Любая помощь высоко ценится