Frage

Ich fand viele 8L1N -Warnungen vor nicht spiegelten Objekten in den SharePoint -ULS -Protokollen. Das Interessante ist, dass die gesamte Stack Trace in meinem Code nichts zeigt. Ich bin mir nicht sicher, wonach ich in diesem Fall suchen muss? Kann es ein Konfigurationsfehler sein, der dazu geführt hat?

Wie kann ich diese Warnung vermeiden?

ULS -Protokoll unten:

An SPRequest object was not disposed before the end of this thread.  To avoid wasting system resources, dispose of this object or its parent (such as an SPSite or SPWeb) as soon as you are done using it.  This object will now be disposed.  Allocation Id: {DBFA1F95-40DF-4AB6-BE88-3AE39F7E4E1F}  This SPRequest was allocated at    at Microsoft.SharePoint.Library.SPRequest..ctor()     at Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(Boolean bNotGlobalAdminCode, String strUrl, Boolean bNotAddToContext, Byte[] UserToken, String userName, Boolean bIgnoreTokenTimeout, Boolean bAsAnonymous)     at Microsoft.SharePoint.SPWeb.InitializeSPRequest()     at Microsoft.SharePoint.SPWeb.EnsureSPRequest()     at Microsoft.SharePoint.SPWeb.get_Request()     at Microsoft.SharePoint.SPWeb.get_All...  
06/03/2009 10:21:05.10* w3wp.exe (0x170C)                       	0x10F8	Windows SharePoint Services   	General                       	8l1n	High    	...Properties()     at Microsoft.SharePoint.ApplicationPages.PermissionSetupPage.GetParentWebAssociatedGroups()     at Microsoft.SharePoint.ApplicationPages.PermissionSetupPage.OnLoad(EventArgs e)     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)     at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)     at System.Web.UI.Page.ProcessRequest()     at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)     at System.Web.UI.Page.ProcessRequest(HttpContext context)     at ASP._layouts_permsetup_aspx.ProcessRequest(HttpContext context)     at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.H...
06/03/2009 10:21:05.10* w3wp.exe (0x170C)                       	0x10F8	Windows SharePoint Services   	General                       	8l1n	High    	...ttpApplication.IExecutionStep.Execute()     at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)     at System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(Exception error)     at System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)     at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)     at System.Web.HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)     at System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
War es hilfreich?

Lösung

Ja, manchmal folgt Microsoft nicht seinen eigenen Best Practices. Ich habe es hier erwähnt: Entsorgung von SPWEBs mit Spline OpenWeb erstellt

Es gibt nichts wirklich, was man dagegen tun kann.

Andere Tipps

Sie sollten Ihren Code überprüfen und die Sp -Site, SPWEB (und andere), die Sie selbst erstellen (wie in "New Spobject (URL)" und Websites.openweb ()), ordnungsgemäß entsorgen. Diese Objekte enthält nicht verwaltete Sprequest -Objekte, die nicht automatisch entsorgt werden.

Um Sie in diesem Prozess zu berücksichtigen, sollten Sie verwenden Spdisposecheck (Normalerweise stelle ich SPDisposecheck so ein, dass ich beim Erstellen meines Codes automatisch ausgeführt habe.)

Da ist ein weißes Papier auf msdn, das Ihnen weiterhin helfen kann. Seien Sie sich bewusst, dass nicht alle SP -SPITE- und SPWEB -Objekte entsorgt werden sollten. Die von spcontext entnommenen Splines und SPWEB sollten normalerweise nicht entsorgt werden. Für weitere Anleitungen darüber, wann nicht zu entsorgen, siehe Roger Lambs "Entsorgen Sie keine Anleitung".

Hinweis: Die obige Warnung sollte nicht mit der "potenziellen übermäßigen Anzahl von Sprequest -Objekten" verwechselt werden. Diese Warnung zeigt nicht unbedingt darauf hin, dass Ihre Objekte nicht entsorgt werden, nur dass Sie viel von ihnen geöffnet haben (wie bei der Durchführung einer Schleife durch aktuelle Netze). Diese Warnung kann gemindert werden, indem der Schellwert auf einen größeren Wert eingerichtet wird:

HKEY_LOCAL_MACHINE Software Microsoft Shared Tools Web Server -Erweiterungen Heapsetings

    LocalSPRequestWarnCount = 50

Weitere Lesung:

Best Practices: Verwendung von verfügbaren Windows SharePoint Services -Objekten

Automatisieren Sie SharePoint dispose () Code -Bewertungen mit SPDisposecheck

SharePoint 2007/2010 „Entsorgen Sie keine Anleitung“ + SPDisposecheck

Fehlerbehebung bei Spsie/SPWEB -Lecks in WSS V3 und Moss 2007

SharePoint 2007 und WSS 3.0 entsorgen Muster mit Beispiel

HTH Anders Rask

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top