我们有一个 IStringLocazlizer 的自定义实现,该实现从内部公司CMS加载标签,该标签通过HTTP Rest接口公开数据。
我们想使用内置于locazlier中的NET Core,但我不喜欢 GetAllStrings Sync方法,该方法必须阻止任务才能执行HTTP调用。
我们有一个高速缓存,但我确实认为这似乎不正确。
对此有何想法?
示例:
public IEnumerable<LocalizedString> GetAllStrings(bool includeParentCultures)
{
Task<CmsLabelsModel> task = pipeline.SendAsync(new GetLabelsModelRequest(ResourceName));
CmsLabelsModel result = task.GetAwaiter().GetResult(); //Yuk Yuk
return result.LabelModels.Select(pair => new LocalizedString(pair.Key, pair.Value.Value));
}