У нас есть пользовательская веб-часть навигации, которая использует PortalSiteMapProvider MOSS для создания навигации по меню. Похоже, что Провайдер не управляет своими объектами. Есть идеи, как управлять объектами, которые создаются в провайдере?
Это вызывает ошибки в журнале, например так:
Потенциально избыточное количество объектов SPRequest (9), в настоящее время не выпущенных в потоке 1. Убедитесь, что этот объект или его родительский объект (например, SPWeb или SPSite) правильно утилизируется. Идентификатор распределения для этого объекта: {56D66DBA-AE72-42DF-A70F-B45E05A60A08} Трассировка стека текущего выделения:
в Microsoft.SharePoint.SPRequestManager.Add (запрос SPRequest, логический общий ресурс)
в Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity (логическое значение bNotGlobalAdminCode, String strUrl, логическое значение bNotAddToContext, Byte [] UserToken, строковое userName, логическое значение bIgnoreTokenTimeout, логическое значение 100A) 100A
в Microsoft.SharePoint.SPWeb.InitializeSPRequest ()
в Microsoft.SharePoint.SPWeb.EnsureSPRequest ()
в Microsoft.SharePoint.SPWeb.get_Request ()
в Microsoft.SharePoint.SPWeb.InitWebPublic ()
в Microsoft.SharePoint.SPWeb.get_Exists ()
в Microsoft.SharePoint.Publishing.CachedObjectFactory.CreateWebFromUrl (URL-адрес строки)
в Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode..ctor (PortalWebSiteMapNode webNode, узел SPNavigationNode, родительский узел PortalSiteMapNode, тип NodeTypes, URL-адрес строки, заголовок строки, описание строки)
в Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode.CreateSPNavigationSiteMapNode (PortalWebSiteMapNode webNode, узел SPNavigationNode, PortalSiteMapNode parentNode)
в Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.ProcessSPNavigationNode (узел SPNavigationNode, узел SPNavigationNode previousSibling, родительский узел PortalSiteMapNode)
в Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMap.Node.PopulateNavigationChildren ()
в Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren (NodeTypes includesTypes, NodeTypes includesHiddenTypes, OrderingMethod, метод AutomaticSortingMethod, логическое возрастание, Int32 lcid)
в Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren (NodeTypes включеныHiddenTypes)
в Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider.GetChildNodes (узел PortalSiteMapNode, NodeTypes включеныHiddenTypes)
в Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider.GetChildNodes (узел SiteMapNode)
в System.Web.SiteMapNode.get_ChildNodes ()
в Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalEnumerable.System.Collections.IEnumerable.GetEnumerator ()
в System.Web.UI.WebControls.Menu.DataBindRecursive (узел MenuItem, перечислимый IHierarchicalEnumerable)
в System.Web.UI.WebControls.Menu.DataBindRecursive (узел MenuItem, перечислимый IHierarchicalEnumerable)
в System.Web.UI.WebControls.Menu.DataBindItem (элемент MenuItem)
в System.Web.UI.WebControls.Menu.PerformDataBinding ()
в System.Web.UI.WebControls.HierarchicalDataBoundControl.PerformSelect ()
в System.Web.UI.WebControls.BaseDataBoundControl.DataBind ()
в System.Web.UI.WebControls.Menu.DataBind ()
в System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound ()
в System.Web.UI.WebControls.Menu.EnsureDataBound ()
в System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender (EventArgs e)
в System.Web.UI.WebControls.Menu.OnPreRender (EventArgs e, логический регистр JavaScript)
в System.Web.UI.WebControls.Menu.OnPreRender (EventArgs e)
в Microsoft.SharePoint.WebControls.AspMenu.OnPreRender (EventArgs e)
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Page.ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint)
в System.Web.UI.Page.ProcessRequest (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint)
в System.Web.UI.Page.ProcessRequest () в System.Web.UI.Page.ProcessRequestWithNoAssert (контекст HttpContext)
в System.Web.UI.Page.ProcessRequest (контекст HttpContext) в ASP.VIEWPAGE_ASPX_2077083467.ProcessRequest (контекст HttpContext)
в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute ()
в System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логическое и завершено синхронно)
в System.Web.HttpApplication.ApplicationStepManager.ResumeSteps (ошибка исключения)
в System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest (HttpCont