Crosspost:https://orchard.codeplex.com/discussions/471475零星LifetimeScope發出
有時候,我得到這個錯誤:「對象不解決,嵌套的壽命可以,因爲它已經被設置爲不從這個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);
它發生零星和我無法找到問題的原因。任何建議或信息將不勝感激。謝謝!
完全不清楚你如何處理你的依賴關係。你如何注入他們?你是否直接使用生命時間表?你可以發佈更多的代碼,堆棧錯誤請跟蹤。 –