apolloconfig / apolloconfig/apollo.net
热更新失效的问题
- 主要语言
- C#
- 星标
- 494
- 派生
- 167
- PR 合并指标
- 30 天内没有已合并 PR
描述
求问一下本组件,
1.是添加了 ChangeToken 的 监听路径吗? c:\opt\data\ {ApolloID} \config-cache
请问这个路径是否可以自己进行配置,可以的化如何设置呢?
另外我的服务中用了别的框架-furion,发现热更新失效了,请问是否也是上文提到的 ChangeToken监听路径被改写后造成的影响呢,我排查以后发现按下文代码处理,可以使热更新重新生效
ChangeToken.OnChange(
() =>
{
var phyFileProvider = new PhysicalFileProvider(@"c:\opt\data\ApolloDemo\config-cache");//TODO:此处路径可配置化处理
IChangeToken changeToken = phyFileProvider.Watch("*.*");
return changeToken;
}
故推测是 @"c:\opt\data\ApolloDemo\config-cache"); 这个路径被其他框架覆盖,
查找其框架源码后有如下处理的代码
// 配置选项监听
if (typeof(IConfigurableOptionsListener).IsAssignableFrom(optionsType))
{
var onListenerMethod = optionsType.GetMethod(nameof(IConfigurableOptionsListener.OnListener));
if (onListenerMethod != null)
{
// 这里监听的是全局配置(总感觉不对头)
ChangeToken.OnChange(() => configurationRoot.GetReloadToken(), () =>
{
var options = optionsConfiguration.Get();
onListenerMethod.Invoke(options, new object[] { options, optionsConfiguration });
});
}
}
请问有没有办法处理呢,还是说必须重新自己绑定监听路径?
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。