C# grpc代码示例
时间: 2023-06-28 11:08:50 浏览: 182
以下是一个简单的 C# gRPC 客户端和服务器的示例代码:
Server:
```csharp
using Grpc.Core;
using System.Threading.Tasks;
namespace MyNamespace
{
public class MyService : MyService.MyServiceBase
{
public override Task<MyResponse> MyMethod(MyRequest request, ServerCallContext context)
{
// 处理请求
var response = new MyResponse { Message = "Hello " + request.Name };
return Task.FromResult(response);
}
}
}
```
Client:
```csharp
using Grpc.Core;
using System;
namespace MyNamespace
{
class Program
{
static void Main(string[] args)
{
var channel = new Channel("localhost:50051", ChannelCredentials.Insecure);
var client = new MyService.MyServiceClient(channel);
var request = new MyRequest { Name = "World" };
var response = client.MyMethod(request);
Console.WriteLine(response.Message);
channel.ShutdownAsync().Wait();
Console.ReadKey();
}
}
}
```
其中,`MyService` 是自动生成的 gRPC 服务类,可以在.proto文件中定义。在服务器端,我们需要实现这个服务类中的各个方法,在客户端,我们需要创建一个 gRPC 通道,然后使用这个通道创建一个服务客户端,最后调用需要的方法即可。
阅读全文