Rpc服务托管程序

fly 6641657881 调整 1 year ago
Tools 6641657881 调整 1 year ago
src a8fd260906 Merge branch 'master' of http://git.ius.plus/Project-Wing/WingCloudServer 1 year ago
.gitignore 411d5cb457 add ignore folder 2 years ago
Clear-Not-Recommended.ps1 46a5b31bac refactor token 2 years ago
Publish.ps1 e73c43aa7e 提交识别 1 year ago
Publish_vital.ps1 1cf7fa1f68 家医Service改造,review:fly,jeremy 1 year ago
README.md 18ee1ff5da Upgrade 3 years ago
clone&pull tool.bat 9a4319f47e 项目地址修改 1 year ago
clone&pull tool_vital.bat 1cf7fa1f68 家医Service改造,review:fly,jeremy 1 year ago

README.md

Wing

Wing is an JsonRPC service framework

Features

  • 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

image image image

2.Create a file directory

image

3.Introducing a dependency library

image

4.Define interfaces and parameters
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
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
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)

image

ServerReboot

Automatic service restart

Sms.Tool

SMS sending program

GoStaticSev

Static file server

EmailTemplate

Email template