Я пытаюсь обновить мой Kentico Cloud SDK с версии 7 до версии 10. До того, как я просто создал новый экземпляр DeliveryClient для создания службы URL-адресов моего сайта, чтобы разрешить их, а затем передать их в мой CustomContentLinkUrlResolver, например,
services.AddSingleton<NavigationProvider>(c => new NavigationProvider(new DeliveryClient(deliveryOptions) {
CodeFirstModelProvider = { TypeProvider = new CustomTypeProvider() }
}, cache));
services.AddSingleton<IDeliveryClient>(c => new CachedDeliveryClient(projectOptions, cache)
{
CodeFirstModelProvider = { TypeProvider = new CustomTypeProvider() },
ContentLinkUrlResolver = new CustomContentLinkUrlResolver(c.GetRequiredService<NavigationProvider>())
});
Итак, у меня есть круговая зависимость, когда DeliveryClient зависит от CustomContentLinkUrlResolver, который зависит от DeliveryClient.
Огорчает то, что метод ResolveLinkUrl (ссылка на ContentLink) не имеет информации, необходимой для разрешения URL-адресов, поскольку URL-адреса определяются таксономией элемента, который недоступен в ContentLink, что означает, что мне нужно выполнить другой поиск предмета для получения таксономии.
Я не знаю, как обойти CustomContentLinkUrlResolver, зависящий от DeliveryClient.