作者:吉之麟 | 来源:互联网 | 2023-07-21 19:34
我目前正在尝试在现有的C#ASP .NET Core应用程序中实现gRPC服务器。但是并没有生成C#绑定以在应用程序中使用。我已经安装了以下依赖项:
- Grpc
- Google.Protobuf
- Grpc.Core
- Grpc.Tools
我已将.proto
文件添加到项目中的Protos
文件夹中。我具有以下.proto
配置:
syntax = "proto3";
//Request that comes through from the microservice endpoint
message RegistrationRequest {
string type = 1;
string ipAddress = 2;
}
//Response on the service register endpoint
message RegistrationResponse {
bool accepted = 1;
}
//Request to get API endpoint to use based on type
message HostRequest {
string type = 1;
}
//Response of the host request
message HostResponse {
string ipAddress = 1;
}
//Service for the repository
service ServiceRepoServer {
//Method that will register the endpoint on the repo
rpc RegisterEndpoint (RegistrationRequest) returns (RegistrationResponse) {}
//Method that will return an endpoint based on type
rpc RequestEndpoint (HostRequest) returns (HostResponse) {}
}
我尝试清洁和重建均无济于事。它可能有点小,我在某个地方不见了,但是我不确定它是什么。有人有主意吗?
您需要编辑csproj,例如默认的greet.proto会执行此操作:
GrpcServices
参数也可以是Client
或Both
,具体取决于您的需求。
如果您使用的是Visual Studio 2019,则还可以使用构建操作来执行此操作。右键单击您的原型文件,然后选择属性。在Protobuf compiler
中选择
Build Action