交叉邮件: https ://orchard.codeplex.com/discussions/471475
有时,我会收到此错误: “无法解析实例,并且无法从此 LifetimeScope 创建嵌套生命周期,因为它已被释放。” 查询某些内容项时。
这是我构建项目的函数:
protected IEnumerable<ContentItem> GetResources(string[] productFilters, string[] topicFilters, string[] techLevelFilters)
{
var cacheKey = BuildCacheKey(productFilters, topicFilters, techLevelFilters);
var resourceItems = ContentManager.Query().ForType("Resource").ForVersion(VersionOptions.Published).List();
if (productFilters != null && productFilters.Any())
{
resourceItems = resourceItems.Where(r => productFilters.Contains(GetTaxonomyFieldValue(r, productTaxonomy)));
}
if (topicFilters != null && topicFilters.Any())
{
resourceItems = resourceItems.Where(r => topicFilters.Contains(GetTaxonomyFieldValue(r, topicTaxonomy)));
}
if (techLevelFilters != null && techLevelFilters.Any())
{
resourceItems = resourceItems.Where(r => techLevelFilters.Contains(GetTaxonomyFieldValue(r, techLevelTaxonomy)));
}
return _cacheManager.Get(cacheKey, ctx =>
{
ctx.Monitor(_clock.When(TimeSpan.FromMinutes(CacheTime)));
return resourceItems;
});
}
这是调用上述函数的函数的一部分,有时会显示错误:
string[] newProductFilters = GetProductFilters(0);
if (newProductFilters != null && newProductFilters.Any())
{
productFilters = productFilters.Concat(newProductFilters).ToArray();
}
var resourceItems = GetResources(productFilters, topicFilters, techLevelFilters);
它偶尔发生,我无法真正找到问题的原因。任何建议或信息将不胜感激。谢谢!