문제

우리는 MOSS의 PortalSitemApprovider를 사용하여 메뉴 탐색을 구축하는 사용자 정의 탐색 웹 파트가 있습니다. 공급자가 객체를 관리하지 않는 것 같습니다. 공급자에서 생성되는 객체를 관리하는 방법에 대한 아이디어가 있습니까?

SO와 같은 로그 오류가 발생합니다.

잠재적으로 과도한 수의 sprequest 객체 (9)는 현재 스레드에서 미공개 1.이 객체 또는 부모 (예 : SPWEB 또는 SPSITE)가 제대로 배치되고 있는지 확인하십시오. 이 개체의 할당 ID : {56d66dba-ae72-42df-a70f-b45e05a60a08} 현재 할당의 스택 트레이스 :
microsoft.sharepoint.sprequestmanager.add (sprequest 요청, 부울 공유)
microsoft.sharepoint.spglobal.createsprequestandsetidentity (boolean bnotglobaladmincode, String Strurl, boolean bnotaddtocontext, byte [] usertoken, 문자열 사용자 이름, 부울 bignoretokentimeout, boolean basanymous)
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)
at microsoft.sharepoint.publishing.navigation.spnavigationsitemapnode..ctor (portalwebsitemapnode webnode, spnavigationnode 노드, PortalsItemapNode ParentNode, NodeTypes 유형, 문자열 URL, 문자열 제목, 문자열 설명)
at microsoft.sharepoint.publishing.navigation.spnavigationsitemapnode.createspnavigationsitemapnode (portalwebsitemapnode webnode, spnavigationnode node, portalsitemapnode parentnode)
at microsoft.sharepoint.publishing.navigation.portalwebsitemapnode.processspnavigationNode (spnavigationNode node, spnavigationNode preveribling, portalsItemapNode parentnode)
microsoft.sharepoint.publishing.navigation.portalwebsitemap.node.populatenavigationchildren ()
at microsoft.sharepoint.publishing.navigation.portalsitemapnode.getnavigationchildren (nodetypes 포함, Nodetypes 포함 포함 포함, 주문 제조 주문, 자동 조종 메트 메트 메서드, 부울 오스건, INT32 LCID)
microsoft.sharepoint.publishing.navigation.portalsitemapnode.getnavigationchildren (nodetypes 포함 hiddentypes)
AT Microsoft.sharePoint.publishing.navigation.portItemApprovider.GetChildNodes (PortalSitemapNode 노드, Nodetypes 포함 HidDentypes)
microsoft.sharepoint.publishing.navigation.portItemApprovider.GetChildNodes (siteemapnode node)
at System.Web.sitemapNode.get_childnodes ()
microsoft.sharepoint.publishing.navigation.portalhierarchicalEnumerable.system.collections.ienumerable.getenumerator ()
at System.Web.ui.webControls.menu.databindRecursive (Menuitem Node, ihierarchicalEnumerable Enumerable)
at System.Web.ui.webControls.menu.databindRecursive (Menuitem Node, ihierarchicalEnumerable Enumerable)
at System.Web.ui.webControls.menu.databinditem (menuitem 항목)
at System.Web.ui.webControls.menu.performDatabinding ()
at System.Web.ui.webControls.hierarchicalDataboundControl.performSelect ()
at System.Web.ui.webControls.basedataboundControl.databind ()
at System.Web.ui.webControls.menu.databind ()
at System.Web.ui.webControls.basedataboundControl.endatabound ()
at System.Web.ui.webControls.menu.ensuredAbound ()
at System.Web.ui.WebControls.basedataboundControl.onprerender (Eventargs E)
at System.Web.ui.WebControls.menu.onprerender (Eventargs E, Boolean RegisterScript)
at System.Web.ui.WebControls.menu.onprerender (Eventargs E)
microsoft.sharepoint.webcontrols.aspmenu.onprerender (eventargs e)
at System.Web.ui.control.prerenderRecursiveInternal ()
at System.Web.ui.control.prerenderRecursiveInternal ()
at System.Web.ui.control.prerenderRecursiveInternal ()
at System.Web.ui.control.prerenderRecursiveInternal ()
at System.Web.ui.control.prerenderRecursiveInternal ()
at System.Web.ui.control.prerenderRecursiveInternal ()
at System.Web.ui.control.prerenderRecursiveInternal ()
at System.Web.ui.page.processRequestMain (부울 포함 BeceSyncPoint, 부울 포함 includestagesyncpoint)
at System.Web.ui.page.processRequest (부울 포함 BeceSyncPoint, 부울 포함 부분 이후)
at system.web.ui.page.processrequest ()의 system.web.ui.page.processrequestwithnoassert (httpcontext context)
at System.Web.ui.page.processRequest (httpcontext context) at asp.viewpage_aspx_2077083467.processrequest (httpcontext context)
at system.web.httpapplication.callhandlerexecutionstep.system.web.httpapplication.iexecutionstep.execute ()
at system.web.httpapplication.executestep (executionStep Step, boolean & completedSynously)
at system.web.httpapplication.applicationstepmanager.resumesteps (예외 오류)
system.web.httpapplication.system.web.ihttpasynchandler.beginprocessrequest (httpcont

도움이 되었습니까?

해결책

Stefan Goßner블로그 게시물이 질문에 답하는 것 같습니다. 문제는 SPWEB 객체가 닫히지 않았지만 일단 특정 임계 값 (기본값 8에 대한 기본값)이 발생하면 경고가 로그에서 생성된다는 것입니다. 사이트 구조에 따라 생성 될 숫자는 다릅니다. 내비게이션의 중첩 특성을 감안할 때, 하위 트리가 가로 지르는 동안 물체는 열려있게 유지됩니다. 그래서 물체 ~이다 올바르게 처분하면 8 개 이상의 (기본적으로)가 주어진 시간에 열려 있습니다.

이 질문을 참조하십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top