Tôi muốn sử dụng gRPC với .NET core 3 trong một ứng dụng web lõi asp.net. Làm cách nào để tôi tạo tệp .proto cần thiết từ một đối tượng mô hình và lớp C # hiện có? Tôi không muốn viết lại tệp .proto phản chiếu mã hiện có, tôi muốn tệp .proto được tạo tự động từ các đối tượng lớp và mô hình.
Tôi gọi phương thức này để đăng ký lớp dịch vụ của tôi.
builder.MapGrpcService<MyGrpcService>();
public class MyGrpcService
{
public Task<string> ServiceMethod(ModelObject model, ServerCallContext context)
{
return Task.FromResult("It Worked");
}
}
ModelObject
có [DataContract]
và [DataMember]
với các thuộc tính thứ tự.
Điều này có thể không? Mỗi ví dụ tôi thấy trực tuyến bắt đầu với một .proto
tập tin. Tôi đã xác định các phương thức dịch vụ mong muốn của mình trong MyGrpcService
lớp. Nhưng có lẽ điều này chỉ ngược với cách làm việc tiêu chuẩn ...
Một cái gì đó giống như điều khiển từ xa .NET cũ sẽ rất lý tưởng khi bạn chỉ cần yêu cầu giao diện từ điểm cuối từ xa và nó sử dụng một cách kỳ diệu gRPC
để liên lạc qua lại, nhưng có lẽ đó là một cách nhìn quá đơn giản.