我正在使用 protobuf-net 使用 Grpc 构建 Web Assembly Blazor 来处理服务。我正在尝试以这种方式注入我想要的服务:
builder.Services.AddSingleton(typeof(ICustomerService), services =>
{
// Create a gRPC-Web channel pointing to the backend server
var httpClient = new HttpClient(new GrpcWebHandler(GrpcWebMode.GrpcWeb, new HttpClientHandler()));
var channel = Grpc.Net.Client.GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions { HttpClient = httpClient });
// Now we can instantiate gRPC clients for this channel
return channel.CreateGrpcService<ICustomerService>();
});
然后,我将我认为应该是依赖项的内容注入到 razor 组件中:
[Inject] ICustomerService Client { get; set; }
但我得到这个错误:
Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer [100] 未处理的异常呈现组件:无法为“Customer_Create”类型的属性“客户端”提供值。没有“ICustomerService”类型的注册服务。
非常感谢这里的任何帮助!