# Wing Wing is an JsonRPC service framework ## Features - [x] Based on the JSONRPclite project. ## Structure The project structure is shown below ##### AppWorkerCenter Service publishing and registry ##### AppFramework The service framework is used for registration and is run by the AppWorkerCenter invocation ## Usage ##### 1.Create a rpc class library    ##### 2.Create a file directory  ##### 3.Introducing a dependency library  ##### 4.Define interfaces and parameters ```csharp using AppFramework.JsonRpc.Driver; using System.Threading.Tasks; using TestRpc.Entity; namespace TestRpc.Service { public interface INewService { Task<int> Add(AddRequest request); } } using AppFramework.JsonRpc.Driver.Validator; using System.Text.Json.Serialization; namespace TestRpc.Entity { public class AddRequest { public string A { get; set; } public string B { get; set; } } } ``` ##### 5.Implementing an interface ```csharp using AppFramework.JsonRpc.Driver; using System.Threading.Tasks; using TestRpc.Entity; namespace TestRpc.Service { public class NewService : BaseRpcService, INewService { public async Task<int> Add(AddRequest request) { var result = int.Parse(request.A)+int.Parse(request.B); return await Task.FromResult(result); } } } ``` ##### 6.Implementing an Loader ```csharp using AppFramework.Common.Loader; using System; using TestRpc.Service; namespace TestRpc.ServiceLoader { public class NewServiceLoader : IServiceLoader { public object CreateService() { return new NewService(); } public Type GetServiceType() { return typeof(INewService); } } } ``` ##### Start server ``` cd AppWorkerCenter/WingCloudServer dotnet build copy ../TestRpc.dll AppWorkerCenter/WingCloudServer/bin/Debug/net5.0/NetService/TestRpc.dll dotnet run ``` ##### For clinet test (postman)  ##### ServerReboot Automatic service restart ##### Sms.Tool SMS sending program ##### GoStaticSev Static file server ##### EmailTemplate Email template