我们有一个自定义导航 Web 部件,它使用 MOSS 的 PortalSiteMapProvider 来构建菜单导航。Provider 似乎没有管理它的对象。关于如何管理在 Provider 中创建的对象的任何想法?
它导致像这样的日志错误:
线程 1 上当前未释放的 SPRequest 对象 (9) 可能过多。确保正确处置此对象或其父对象(例如 SPWeb 或 SPSite)。此对象的分配 ID:{56D66DBA-AE72-42DF-A70F-B45E05A60A08} 当前分配的堆栈跟踪:
在 Microsoft.SharePoint.SPRequestManager.Add(SPRequest request, Boolean shareable)
at Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(Boolean bNotGlobalAdminCode,在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(String url)
在 Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode..ctor(PortalWebSiteMapNode webNode , SPNavigationNode 节点, PortalSiteMapNode parentNode, NodeTypes 类型, String url, String title, String description)
在 Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode.CreateSPNavigationSiteMapNode(PortalWebSiteMapNode webNode, SPNavigationNode 节点, PortalSiteMapNode parentNode)
在 Microsoft.SharePoint.Publishing.Navigation。 PortalWebSiteMapNode.ProcessSPNavigationNode(SPNavigationNode 节点,SPNavigationNode previousSibling,PortalSiteMapNode parentNode)
在 Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMap.Node.PopulateNavigationChildren()
在 Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren(NodeTypes包括类型,NodeTypes包括HiddenTypes,OrderingMethod排序,AutomaticSortingMethod方法,布尔升序,Int32 lcid)
在微软。 SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren(NodeTypes includedHiddenTypes)
在 Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider.GetChildNodes(PortalSiteMapNode 节点, NodeTypes includedHiddenTypes)
在 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 node, IHierarchicalEnumerable enumerable)
at System.Web.UI.WebControls.Menu.DataBindItem(MenuItem item)
at System.Web.UI.WebControls.Menu.PerformDataBinding()
at 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, Boolean registerScript)
在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(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web .UI.Page.ProcessRequest() 在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
在 System.Web.UI.Page.ProcessRequest(HttpContext context) 在 ASP.VIEWPAGE_ASPX_2077083467.ProcessRequest(HttpContext context)
在 System.Web .HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
在 System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(异常错误)
在 System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpCont