I really need your help. Since a few days I have a big problem. It seems to me that all started with adding a new user group, but I'm not sure if that was the reason.
At the moment I get an error viewing my site remotely. This problem doesn't occur locally. The server error is:
...[ArgumentNullException: Value cannot be null.
Parameter name: id]
...Umbraco.Core.Cache.DefaultRepositoryCachePolicy`2.GetEntityCacheKey(Object id)...
The underlying class seems to be my Navigation.cs which automatically finds some content nodes and builds the navigation.
public class NavigationController : SurfaceController
{
private readonly string _culture;
private const int NavigationLevel = 3;
private int _navLevelCounter = 1;
private const int CategoriesDataTypeId = 1115;
public NavigationController()
{
_culture = Umbraco.ContentAtRoot().FirstOrDefault().GetCultureFromDomains();
}
public ActionResult Navigation()
{
var model = GetNavigationItems();
return PartialView("~/Views/Partials/_navigation.cshtml", model);
}
private List<NavigationModel> GetNavigationItems()
{
var rootNavigationItems = new List<IPublishedContent>();
var home = Umbraco.ContentAtRoot().FirstOrDefault();
rootNavigationItems.Add(home);
rootNavigationItems.AddRange(home.Children().Where(x => x.Value<bool>("isRoot") && !x.Value<bool>("hideInNavigation")).ToList());
return rootNavigationItems.Select(GetNavigationModel).ToList();
}
private NavigationModel GetNavigationModel(IPublishedContent page)
{
var pageChildren = new List<IPublishedContent>();
var childNavigationModels = new List<NavigationModel>();
pageChildren = page.Children().Where(x => x.IsVisible() && !x.Value<bool>("isRoot") && !x.Value<bool>("hideInNavigation")).ToList();
if (_navLevelCounter <= NavigationLevel && pageChildren.Any())
{
_navLevelCounter++;
childNavigationModels = pageChildren
.Select(GetNavigationModel)
.OrderBy(x => x.Category)
.ThenBy(x => x.CategoryOrderIndex)
.ToList();
_navLevelCounter--;
}
var rootParentId = !page.Value<bool>("isRoot") ? page.Ancestors(_navLevelCounter).FirstOrDefault()?.Id : page.Id;
return new NavigationModel
{
Text = page.Value<string>("navigationText"),
MegaMenuImage = page.Value<IPublishedContent>("megaMenuImage")?.Url,
Link = page.Url,
UseLink = page.Value<bool>("useLink"),
Category = Umbraco.GetDictionaryValue(page.Value<string>("navigationCategory")),
CategoryOrderIndex = page.Value<int>("navigationCategoryOrderIndex"),
Children = childNavigationModels,
Id = page.Id,
RootParentId = rootParentId
};
}
}
This worked perfectely for weeks. Suddenly this error came up.
All folders got write permissions for the app pool. So where could be the problem? Can/should I turn off the usage of the cache? How?
I solved this by removing an obviously broken node. I have no explanation for the issue. The only thing I can imagine is adding a new user group and adding an existing editor to this group during him working on this node...
Server Error only remotely (GetEntityCacheKey)
Hi Folks
I really need your help. Since a few days I have a big problem. It seems to me that all started with adding a new user group, but I'm not sure if that was the reason.
At the moment I get an error viewing my site remotely. This problem doesn't occur locally. The server error is:
The underlying class seems to be my Navigation.cs which automatically finds some content nodes and builds the navigation.
This worked perfectely for weeks. Suddenly this error came up.
All folders got write permissions for the app pool. So where could be the problem? Can/should I turn off the usage of the cache? How?
I really stuck.
Thank you for your help.
Peter
I solved this by removing an obviously broken node. I have no explanation for the issue. The only thing I can imagine is adding a new user group and adding an existing editor to this group during him working on this node...
is working on a reply...