ASP.NET Core JSON-RPC

Tro*_*acy 5 c# json-rpc asp.net-core asp.net-core-webapi

我创建了核心的WebAPI项目,尽管RESTing表现不错,但还需要JSON-RPC功能。我看到的东西像这样这样,但仍然不知道它们中的哪一个优先组织的服务器和客户端(这是aspnetcore太)好更换的像WCF。

那么,如何以正确的方式使用ASP.NET Core进行JSON-RPC?

Yga*_*bel 2

你可以从詹姆斯·牛顿·金那里找到一个很好的例子。

Newtonsoft.Json创建者创建了一个与 gRPC 和 ASP.NET 完美配合的项目。

检查这里: https ://github.com/aspnet/AspLabs/tree/master/src/GrpcHttpApi

自述文件中的一个示例:

用法:

  • 添加对 Microsoft.AspNetCore.Grpc.HttpApi 的包引用。

  • 在 Startup.cs 中注册服务AddGrpcHttpApi()

  • 将 google/api/http.proto 和 google/api/annotations.proto 文件添加到您的项目中。

  • 使用 HTTP 绑定和路由注释 .proto 文件中的 gRPC 方法:

syntax = "proto3";

import "google/api/annotations.proto";

package greet;

service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply) {
    option (google.api.http) = {
      get: "/v1/greeter/{name}"
    };
  }
}

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}
Run Code Online (Sandbox Code Playgroud)

SayHello gRPC 方法现在可以作为 gRPC+Protobuf 和 HTTP API 调用: