Justin da357463ba Add property to enable or disable the compression content of http response. | há 1 ano atrás | |
---|---|---|
JsonRpcLite | há 1 ano atrás | |
JsonRpcLite.Kcp | há 3 anos atrás | |
JsonRpcLite.Kestrel | há 3 anos atrás | |
TestClient | há 3 anos atrás | |
TestServer | há 3 anos atrás | |
jrl | há 3 anos atrás | |
.gitignore | há 3 anos atrás | |
JsonRpcLite.sln | há 3 anos atrás | |
README.md | há 3 anos atrás |
This is a simple JsonRpc server implementation written in C#, it's simple, but fast!
Here we have a benchmark compare with JSON-RPC.NET.
Starting benchmark
processed 50 rpc in 0ms for ∞ rpc/sec
processed 100 rpc in 0ms for ∞ rpc/sec
processed 300 rpc in 0ms for ∞ rpc/sec
processed 1,200 rpc in 2ms for 600,000.00 rpc/sec
processed 6,000 rpc in 12ms for 500,000.00 rpc/sec
processed 36,000 rpc in 77ms for 467,532.47 rpc/sec
processed 252,000 rpc in 581ms for 433,734.94 rpc/sec
Finished benchmark...
Starting benchmark
processed 50 rpc in 0ms for ∞ rpc/sec
processed 100 rpc in 0ms for ∞ rpc/sec
processed 300 rpc in 0ms for ∞ rpc/sec
processed 1,200 rpc in 2ms for 600,000.00 rpc/sec
processed 6,000 rpc in 28ms for 214,285.71 rpc/sec
processed 36,000 rpc in 88ms for 409,090.91 rpc/sec
processed 252,000 rpc in 640ms for 393,750.00 rpc/sec
Finished benchmark...
public interface ITestService
{
public string Hello(string name);
public int Add(int a, int b);
}
public class TestService:ITestService
{
public string Hello(string name)
{
...
}
public int Add(int a, int b)
{
...
}
}
//In server
var server = new JsonRpcServer();
server.RegisterService<ITestService>(new TestService());
var serverEngine = new JsonRpcHttpServerEngine("http://127.0.0.1:8090/");
server.UseEngine(serverEngine);
server.Start();
//In client
var client = new JsonRpcClient();
var clientEngine = new JsonRpcHttpClientEngine("http://127.0.0.1:8090/");
client.UseEngine(clientEngine);
var proxy = client.CreateProxy<ITestService>("TestService");
Console.WriteLine(proxy.Hello("World"));