利用工具查看JMS微服务在线情况,可直接调用远程方法,也可自动生成微服务客户端代码

链接:https://cccscls-my.sharepoint.com/personal/jack_mutc_ca/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fjack%5Fmutc%5Fca%2FDocuments%2FJMS&ga=1

 

 

如果在线的微服务是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是RemoteClient的派生类,简单封装一下,用起来方便一些

复制代码
    public class MicroServiceClient : RemoteClient
    {
        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>>())
        {

        }
    }
复制代码

 

posted @   IWing  阅读(418)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2016-12-09 发布自己的nuget包
点击右上角即可分享
微信分享提示