apolloconfig / apolloconfig/apollo.net

热更新失效的问题

Ouverte
#166 11 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C#
Étoiles
494
Forks
167
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

求问一下本组件,
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 });
});
}
}

请问有没有办法处理呢,还是说必须重新自己绑定监听路径?

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.