From b6f112e10166c3db23fe95e7a765d128d4c2d697 Mon Sep 17 00:00:00 2001 From: "xiongdi.guo" Date: Tue, 16 Dec 2025 16:44:47 +0800 Subject: [PATCH] Add ListServices method to ConsulNodeDiscoveryProvider for consistent service listing Implemented a new asynchronous method, ListServices, in the ConsulNodeDiscoveryProvider class. This method returns all CAP services, providing a consistent interface similar to GetNodes, while addressing the lack of direct namespace support in Consul. --- .../NodeDiscovery/INodeDiscoveryProvider.Consul.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/DotNetCore.CAP.Dashboard/NodeDiscovery/INodeDiscoveryProvider.Consul.cs b/src/DotNetCore.CAP.Dashboard/NodeDiscovery/INodeDiscoveryProvider.Consul.cs index 18fb04d98..809dc2303 100644 --- a/src/DotNetCore.CAP.Dashboard/NodeDiscovery/INodeDiscoveryProvider.Consul.cs +++ b/src/DotNetCore.CAP.Dashboard/NodeDiscovery/INodeDiscoveryProvider.Consul.cs @@ -147,4 +147,11 @@ public async Task RegisterNode(CancellationToken cancellationToken) $"Get consul nodes raised an exception. Exception:{ex.Message},{ex.InnerException.Message}"); } } + + public async Task> ListServices(string ns = null) + { + // For Consul, namespace is not directly supported, so we return all CAP services + // This is similar to GetNodes but provides a consistent interface + return await GetNodes(ns, CancellationToken.None); + } } \ No newline at end of file