src/Library/NetPro.Apollo/ApolloClientHelper.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Com.Ctrip.Framework.Apollo;
using Com.Ctrip.Framework.Apollo.Enums;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using System;
using System.IO;
namespace NetPro.Apollo
{
/// <summary>
///
/// </summary>
public static class ApolloClientHelper
{
/// <summary>
///
/// </summary>
/// <param name="hostingContext"></param>
/// <param name="builder"></param>
/// <param name="args"></param>
public static void ApolloConfig(HostBuilderContext hostingContext, IConfigurationBuilder builder, string[] args)
{
//TODO 递归加载指定文件夹下所有json文件
var environmentName = hostingContext.HostingEnvironment.EnvironmentName;
var basePath= Directory.GetCurrentDirectory();
builder.SetBasePath(basePath)
.AddJsonFile("appsettings.json", true, true)
.AddJsonFile($"appsettings.{environmentName}.json", true, true)
.AddEnvironmentVariables()
.AddCommandLine(args); // 添加环境变量
if (!builder.Build().GetValue<bool>("Apollo:Enabled", false)) return;
var apolloSection = builder.Build().GetSection("Apollo");
var apolloBuilder = builder.AddApollo(apolloSection);
//local config
var appsettingNamespace = apolloSection.GetValue<string>("Namespaces");
apolloBuilder.AddNamespace(appsettingNamespace);
apolloBuilder.AddDefault();
//remote config
var apolloNamespaces = apolloBuilder.Build().GetValue<string>("Namespaces");
if (string.IsNullOrWhiteSpace(apolloNamespaces)) return;
var namespaces = apolloNamespaces.Split(',');
foreach (var t in namespaces)
{
if (!string.IsNullOrWhiteSpace(t))
{
apolloBuilder.AddNamespace(t, GetNameSpaceType(t));
}
}
if (builder.Build().GetValue<bool>("Apollo:Enabled", false))
{
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] apollo已开启");
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] Apollo MetaServer={builder.Build().GetValue<string>("Apollo:MetaServer")}");
var uri = new Uri(builder.Build().GetValue<string>("Apollo:MetaServer"));
using (var tcpClient = new System.Net.Sockets.TcpClient(uri.Host, uri.Port))
后面还有 28 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。