CAP icon indicating copy to clipboard operation
CAP copied to clipboard

[Bug] System.NotImplementedException: The method or operation is not implemented.

Open guoxdxdxd opened this issue 1 month ago • 0 comments

Environment

  • CAP Version: 10.0
  • .NET Version: 10

Summary

ConsulNodeDiscoveryProvider missing ListServices implementation causes NotImplementedException when accessing nodes console in Dashboard

Steps to Reproduce

Steps to Reproduce



  1. Configure CAP with Consul service discovery
  • Add x.UseConsulDiscovery() in your CAP configuration
  • Configure Consul discovery options (DiscoveryServerHostName, DiscoveryServerPort, NodeId, NodeName, etc.) 
  1. Start the application and navigate to CAP Dashboard 
  2. Open the Nodes/Servers page in Dashboard 
  3. Select a namespace (if available) or trigger the list services API call 

Expected Behavior

 The Dashboard should successfully retrieve and display the list of CAP nodes registered in Consul without any errors. 

Actual Behavior

 An exception is thrown when accessing the nodes console: System.InvalidOperationException: The exception handler configured on ExceptionHandlerOptions produced a 404 status response. This InvalidOperationException containing the original exception was thrown since this is often due to a misconfigured ExceptionHandlingPath. If the exception handler is expected to return 404 status responses then set AllowStatusCode404Response to true. ---> System.NotImplementedException: The method or operation is not implemented. at DotNetCore.CAP.Dashboard.NodeDiscovery.INodeDiscoveryProvider.ListServices(String ns) at DotNetCore.CAP.Dashboard.RouteActionProvider.ListServices(HttpContext httpContext) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task) --- End of inner exception stack trace --- at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.HandleException(HttpContext context, ExceptionDispatchInfo edi) at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.HandleException(HttpContext context, ExceptionDispatchInfo edi) at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task) at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) at Furion.StartupFilter.<>c__DisplayClass0_1.<<Configure>b__1>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsTContext

Expected Behavior

No response

Actual Behavior

No response

Log Output


CAP Configuration


Transport Used

None

Storage Provider

None

Environment

No response

Additional Context

No response

guoxdxdxd avatar Dec 11 '25 00:12 guoxdxdxd