dotnettyrpcは、dotnettyに基づくクロスプラットフォームRPCフレームワークであり、.net45および.net標準2.0をサポートします
従来の.NET開発でリモートコールサービスに遭遇するとき、WCFが主な焦点です。 WCFには強力な機能がありますが、その構成は複雑であり、使いやすくありません。そして将来、それは間違いなく.NET Coreの世界になります。 WCFは、当面の間.NETコアをサポートしていません(クライアントのみ、サーバーを確立できません)。 GRPC、Surging、Microservice Framework Orleanなどの市場にあるその他の.NET RPCフレームワークは、強力であり、パフォーマンスが良く、比較的成熟していますが、使用するのに十分な単純ではありません。上記の比較に基づいて(賞賛と軽視されていない)、私はホイールdotnettyrpcを採取しました。そのポジショニングは、クロスプラットフォーム(.NET45および.NET標準)、シンプルだが実用的なRPCフレームワークです。
nugetパッケージマネージャーを開き、dotnettyrpcを検索して使用して使用します
または、Nugetコマンドを入力します:install-package dotnettyrpc
public interface IHello
{
string SayHello ( string msg ) ;
}
public class Hello : IHello
{
public string SayHello ( string msg )
{
return msg ;
}
} using Coldairarrow . DotNettyRPC ;
using Common ;
using System ;
namespace Server
{
class Program
{
static void Main ( string [ ] args )
{
RPCServer rPCServer = new RPCServer ( 9999 ) ;
rPCServer . RegisterService < IHello , Hello > ( ) ;
rPCServer . Start ( ) ;
Console . ReadLine ( ) ;
}
}
} using Coldairarrow . DotNettyRPC ;
using Common ;
using System ;
namespace Client
{
class Program
{
static void Main ( string [ ] args )
{
IHello client = RPCClientFactory . GetClient < IHello > ( "127.0.0.1" , 9999 ) ;
var msg = client . SayHello ( "Hello" ) ;
Console . WriteLine ( msg ) ;
Console . ReadLine ( ) ;
}
}
}最初にサーバーを実行してからクライアントを実行すると、クライアントにhelloを出力できます
このマシンでのテストの平均RPC要求は約0.4msであり、パフォーマンスは高くありませんが、シンプルさと実用性に焦点を当てて、ほとんどのビジネスシナリオに対処するには十分です。最適化できる多くの場所があり、誰もがそれをサポートできることを願っています。
githubアドレス:https://github.com/coldairarrow/dotnettyrpc
QQグループ:373144077