Justin da357463ba Add property to enable or disable the compression content of http response. | 1 éve | |
---|---|---|
JsonRpcLite | 1 éve | |
JsonRpcLite.Kcp | 3 éve | |
JsonRpcLite.Kestrel | 3 éve | |
TestClient | 3 éve | |
TestServer | 3 éve | |
jrl | 3 éve | |
.gitignore | 3 éve | |
JsonRpcLite.sln | 3 éve | |
README.md | 3 éve |
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"));