O DOTNETTYRPC é uma estrutura de RPC de plataforma cruzada baseada em Dotnetty, suportando o .NET45 e .NET Standard 2.0
Ao encontrar serviços remotos de chamadas no desenvolvimento tradicional .NET, o WCF é o foco principal. Embora o WCF tenha funções poderosas, sua configuração é complexa e não é fácil de usar. E no futuro, será definitivamente o mundo do .Net Core. O WCF não suporta o núcleo .NET por enquanto (apenas clientes, nenhum servidor pode ser estabelecido). Outras estruturas do RPC .NET no mercado, como GRPC, Orleans de GRPC, e até microsserviço, são poderosas, têm bom desempenho e são relativamente maduras, mas não são simples o suficiente para usar. Com base na comparação acima (sem elogios e menosprezados), acabei de tomar uma roda dotnetTyRPC. Seu posicionamento é uma plataforma cruzada (.NET45 e .NET Standard), estrutura de RPC simples, mas prática.
Abra o gerenciador de pacotes do Nuget, pesquise dotNetTyRPC para encontrá -lo e usá -lo
Ou insira o comando 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 ( ) ;
}
}
}Execute o servidor primeiro e depois execute o cliente, e você pode produzir olá no cliente
A solicitação média de RPC de teste nesta máquina é de cerca de 0,4ms, o que não tem alto desempenho, mas é suficiente para lidar com a maioria dos cenários de negócios, com foco na simplicidade e praticidade. Existem muitos lugares que podem ser otimizados, e espero que todos possam apoiá -lo.
Endereço do Github: https://github.com/coldairarrow/dotnettyrpc
Grupo QQ: 373144077