Frage

Wir haben eine benutzerdefinierte Navigations webpart, die die PortalSiteMapProvider von MOSS verwendet eine Menüführung zu bauen. Es scheint, dass der Anbieter nicht die Objekte verwaltet. Jede Idee, wie die Objekte zu verwalten, die in dem Provider erstellt werden?

Es verursacht Protokollfehler wie folgt:

Potentiell übermäßige Anzahl von Objekten Sprequest (9) noch nicht freigegebene Faden auf 1. Stellen Sie sicher, dass dieses Objekt oder seiner Mutter (wie ein SPWeb oder SPSite) ordnungsgemäß entsorgt wird. Allocation Id für dieses Objekt: {56D66DBA-AE72-42DF-A70F-B45E05A60A08} Stack-Trace aktuelle Belegung:
bei Microsoft.SharePoint.SPRequestManager.Add (Sprequest Anfrage, Boolean gemeinsam nutzbare)
bei Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity (Boolean bNotGlobalAdminCode, String StrUrl, Boolean bNotAddToContext, Byte [] Usertoken, String username, Boolean bIgnoreTokenTimeout, Boolean bAsAnonymous)
bei Microsoft.SharePoint.SPWeb.InitializeSPRequest ()
bei Microsoft.SharePoint.SPWeb.EnsureSPRequest ()
bei Microsoft.SharePoint.SPWeb.get_Request ()
bei Microsoft.SharePoint.SPWeb.InitWebPublic ()
bei Microsoft.SharePoint.SPWeb.get_Exists ()
bei Microsoft.SharePoint.Publishing.CachedObjectFactory.CreateWebFromUrl (String url)
bei Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode..ctor (PortalWebSiteMapNode WebNode, SPNavigationNode Knoten, PortalSiteMapNode parentNode, NodeTypes Typ, String url, String title, String Beschreibung)
bei Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode.CreateSPNavigationSiteMapNode (PortalWebSiteMapNode WebNode, SPNavigationNode Knoten, PortalSiteMapNode parentNode)
bei Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.ProcessSPNavigationNode (SPNavigationNode Knoten SPNavigationNode previousSibling, PortalSiteMapNode parentNode)
bei Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMap.Node.PopulateNavigationChildren ()
bei Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren (NodeTypes includedTypes, NodeTypes includedHiddenTypes, OrderingMethod Ordnung, AutomaticSortingMethod Methode, Boolean aufsteigend, Int32 lcid)
bei Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren (NodeTypes includedHiddenTypes)
bei Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider.GetChildNodes (PortalSiteMapNode Knoten NodeTypes includedHiddenTypes)
bei Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider.GetChildNodes (SiteMapNode node)
bei System.Web.SiteMapNode.get_ChildNodes ()
bei Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalEnumerable.System.Collections.IEnumerable.GetEnumerator ()
bei System.Web.UI.WebControls.Menu.DataBindRecursive (MenuItem Knoten IHierarchicalEnumerable enumerable)
bei System.Web.UI.WebControls.Menu.DataBindRecursive (MenuItem Knoten IHierarchicalEnumerable enumerable)
bei System.Web.UI.WebControls.Menu.DataBindItem (MenuItem Artikel)
bei System.Web.UI.WebControls.Menu.PerformDataBinding ()
bei System.Web.UI.WebControls.HierarchicalDataBoundControl.PerformSelect ()
bei System.Web.UI.WebControls.BaseDataBoundControl.DataBind ()
bei System.Web.UI.WebControls.Menu.DataBind ()
bei System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound ()
bei System.Web.UI.WebControls.Menu.EnsureDataBound ()
bei System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender (EventArgse)
bei System.Web.UI.WebControls.Menu.OnPreRender (EventArgse, Boolean registerScript)
bei System.Web.UI.WebControls.Menu.OnPreRender (EventArgse)
bei Microsoft.SharePoint.WebControls.AspMenu.OnPreRender (EventArgse)
bei System.Web.UI.Control.PreRenderRecursiveInternal ()
bei System.Web.UI.Control.PreRenderRecursiveInternal ()
bei System.Web.UI.Control.PreRenderRecursiveInternal ()
bei System.Web.UI.Control.PreRenderRecursiveInternal ()
bei System.Web.UI.Control.PreRenderRecursiveInternal ()
bei System.Web.UI.Control.PreRenderRecursiveInternal ()
bei System.Web.UI.Control.PreRenderRecursiveInternal ()
bei System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
bei System.Web.UI.Page.ProcessRequest (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
bei System.Web.UI.Page.ProcessRequest () bei System.Web.UI.Page.ProcessRequestWithNoAssert (Httpcontext context)
bei System.Web.UI.Page.ProcessRequest (Httpcontext context) bei ASP.VIEWPAGE_ASPX_2077083467.ProcessRequest (Httpcontext context)
bei System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute ()
bei System.Web.HttpApplication.ExecuteStep (IExecutionStep Schritt, Boolean & completedSynchronously)
bei System.Web.HttpApplication.ApplicationStepManager.ResumeSteps (Ausnahmefehler)
bei System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest (HttpCont

War es hilfreich?

Lösung

Stefan Goßner 's Blog-Post scheint die Frage zu beantworten. Das Problem ist nicht, dass die SPWeb-Objekte werden nicht geschlossen werden, sondern dass, sobald eine bestimmte Schwelle (Standard: 8) der Zuweisungen ist getroffen, die Warnung wird im Protokoll erstellt. Je nach Ihrer Website-Struktur der Zahl, die erstellt werden können variieren. In Anbetracht der verschachtelten Natur der Navigation werden die Objekte offen gehalten, während der Unterbaum durchlaufen wird. So ist die Objekte ist korrekt entsorgt, es ist nur, dass mehr als 8 (Standard) zu einem bestimmten Zeitpunkt offen gehalten werden.

sehen Sie diese Frage

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top