using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Primitives; using Nacos.V2; using Nacos.V2.Naming; using Nacos.V2.Naming.Dtos; using Newtonsoft.Json; using System.Threading; using Yarp.ReverseProxy.Configuration; using YuanXuan.IM.Api.Proxy; namespace YuanXuan.IM.Api.CollectionExtensions { public static class YarpServiceCollectionExtensions { /// /// 添加YARP反向代理服务 /// /// /// /// public static IServiceCollection AddYarpWithNacos(this IServiceCollection services, IConfiguration configuration) { // 添加YARP服务 services.AddReverseProxy(); // 注册Nacos服务发现提供者 services.AddSingleton(); services.AddSingleton(provider => provider.GetRequiredService()); return services; } } }