{"id":30252176,"url":"https://github.com/ipjohnson/easyrpc","last_synced_at":"2025-08-15T11:16:02.127Z","repository":{"id":65413820,"uuid":"82434260","full_name":"ipjohnson/EasyRpc","owner":"ipjohnson","description":"RPC Service and Client for AspNetCore","archived":false,"fork":false,"pushed_at":"2022-12-08T11:21:20.000Z","size":7240,"stargazers_count":95,"open_issues_count":11,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-14T17:13:00.872Z","etag":null,"topics":["aspnetcore","json-rpc-server"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ipjohnson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-19T04:09:44.000Z","updated_at":"2024-09-18T18:27:12.000Z","dependencies_parsed_at":"2023-01-25T12:30:21.797Z","dependency_job_id":null,"html_url":"https://github.com/ipjohnson/EasyRpc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ipjohnson/EasyRpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipjohnson%2FEasyRpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipjohnson%2FEasyRpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipjohnson%2FEasyRpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipjohnson%2FEasyRpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ipjohnson","download_url":"https://codeload.github.com/ipjohnson/EasyRpc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipjohnson%2FEasyRpc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270559319,"owners_count":24606714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-15T02:00:12.559Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspnetcore","json-rpc-server"],"created_at":"2025-08-15T11:15:55.351Z","updated_at":"2025-08-15T11:16:02.081Z","avatar_url":"https://github.com/ipjohnson.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EasyRpc\nAdds rpc service support to AspNetCore\n\n```\npublic void ConfigureServices(IServiceCollection services)\n{\n  services.AddRpcServices();\n}\n\npublic void Configure(IApplicationBuilder app)\n{\n  app.UseRpcServices(api =\u003e\n  {\n     // simple web method at /Status\n     api.Method.Get(\"/Status\", () =\u003e new { status = \"Ok\"});\n\n     // Expose methods at /IntMath\n     api.Expose\u003cIntMathService\u003e().As(\"IntMath\");\n  });\n}\n\npublic class IntMathService\n{\n  // expose web api POST /IntMath/Add expecting {\"a\":int,\"b\":int}\n  public int Add(int a, int b)\n  {\n    return a + b;\n  }\n}\n```\n\n### Features\n\nEasyRpc allow developers to write business related classes and host them as remote procedure calls.\nIn essence developers focus on writing services that fullfil requirements vs. writing RESTful services \nthat require the developer to think about which verbs they want to use. \n\n* Performs faster than MVC as seen in [these](https://www.techempower.com/benchmarks/#section=data-r19\u0026hw=ph\u0026test=json\u0026p=zik0zj-zik0zj-zijocf-zik0zj-v\u0026c=6) 3rd party benchmarks\n* Services participate in Asp.Net Core dependency injection framework\n* Integrates with Asp.Net Core authorization schemes including Roles \u0026 Polices\n* Built in data context idea that can be used to fetch and save data into header\n* Filter support similar to Asp.Net filter (not exactly the same as no controller is ever created)\n* Support for request/response gzip compression, br compression\n* Built in Swagger UI\n\n### Build\n[![Build status](https://ci.appveyor.com/api/projects/status/1sflvdvnetodybab?svg=true)](https://ci.appveyor.com/project/ipjohnson/easyrpc) \u003ca href=\"https://codecov.io/gh/ipjohnson/EasyRpc\"\u003e\n  \u003cimg src=\"https://codecov.io/gh/ipjohnson/EasyRpc/branch/master/graph/badge.svg\" /\u003e\n\u003c/a\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipjohnson%2Feasyrpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fipjohnson%2Feasyrpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipjohnson%2Feasyrpc/lists"}