zoukankan      html  css  js  c++  java
  • 查看JMS微服务在线情况,并自动生成微服务客户端代码

    链接:https://pan.baidu.com/s/1neWdJlZD9-IXcjNP5sfR7w
    提取码:6666
    在网盘里,下载ServiceStatusViewer工具,解压后,修改appsettings.json文件里面的网关地址,然后运行ServiceStatusViewer工具,即可显示网关的在线微服务

    也可以用命令 ServiceStatusViewer.exe  appsettings2.json 的方式,指定使用某个配置文件启动此工具

    如果在线的微服务是Debug模式,可以点击【获取客户端代码】,直接生成该微服务的客户端访问代码。

    生成的客户端代码大概如下格式:(如果微服务编译时,生成.xml注释文件,那么客户端代码,也会伴有注释)

    namespace DemoSys.WebApi.MicroServices
    {
        [InvokerInfo("UserAccountService")]
        public class UserAccountService : IImplInvoker
        {
            .....
        }
    }

    这样,客户端要访问微服务,则可以这么写

                using (var client = new MicroServiceClient())
                {
                    var service = client.GetMicroService<MicroServices.UserAccountService>();
                    return service.GetUserAccount(this.UserInfo.userid , "USDT");
                }

    MicroServiceClient是JMSClient的派生类,简单封装一下,用起来方便一些

        public class MicroServiceClient : JMSClient
        {
            static NetAddress[] GatewayAddresses;
            static IConfiguration Configuration;
            static MicroServiceClient()
            {
                var builder = new ConfigurationBuilder();
                builder.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
                Configuration = builder.Build();
                ConfigurationChangeCallback(null);
            }
    
            static void ConfigurationChangeCallback(object p)
            {
                Configuration.GetReloadToken().RegisterChangeCallback(ConfigurationChangeCallback, null);
    
                GatewayAddresses = Configuration.GetSection("Gateways").Get<NetAddress[]>();
            }
            public MicroServiceClient():base(GatewayAddresses , null , Global.ServiceProvider.GetService<ILogger<JMSClient>>())
            {
    
            }
        }
  • 相关阅读:
    [转] 分代垃圾回收的 新旧代引用问题(原标题:Back To Basics: Generational Garbage Collection)
    javascript中数组总结
    mybatis 与 反射
    mybatis 与 缓存
    mybatis 与 日志
    mybatis与 Exception
    mybatis 与 xml
    Redis -- 03 持久化
    Redis -- 02 配置文件解析
    【翻译】Crafting a Next-Gen Material Pipeline for The Order: 1886
  • 原文地址:https://www.cnblogs.com/IWings/p/14109764.html
Copyright © 2011-2022 走看看