質問

MOSSのPortalSiteMapProviderを使用してメニューナビゲーションを構築するカスタムナビゲーションWebパーツがあります。プロバイダはオブジェクトを管理していないようです。プロバイダーで作成されているオブジェクトを管理する方法についてのアイデアはありますか?

次のようなログエラーが発生しています:

スレッド1で現在リリースされていない可能性のあるSPRequestオブジェクト(9)の数が多い。このオブジェクトまたはその親(SPWebやSPSiteなど)が適切に破棄されていることを確認してください。このオブジェクトの割り当てID:{56D66DBA-AE72-42DF-A70F-B45E05A60A08}現在の割り当てのスタックトレース:
Microsoft.SharePoint.SPRequestManager.Add(SPRequest request、Boolean shareable)
Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(Boolean bNotGlobalAdminCode、String strUrl、Boolean bNotAddToContext、Byte [] UserToken、String userName、Boolean bIgnoreTokenTimeout、Boolean bAsAnonymous)
で 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 node、PortalSiteMapNode parentNode、NodeTypes type、String url、String title、String description)
で Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode.CreateSPNavigationSiteMapNode(PortalWebSiteMapNode webNode、SPNavigationNode node、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 includedTypes、NodeTypes includedHiddenTypes、OrderingMethod ordering、AutomaticSortingMethod method、Boolean ascending、Int32 lcid)
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren(NodeTypes includedHiddenTypes)
で Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider.GetChildNodes(PortalSiteMapNode node、NodeTypes includedHiddenTypes)
で Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider.GetChildNodes(SiteMapNode node)
で System.Web.SiteMapNode.get_ChildNodes()
で Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalEnumerable.System.Collections.IEnumerable.GetEnumerator()
で System.Web.UI.WebControls.Menu.DataBindRecursive(MenuItem node、IHierarchicalEnumerable enumerable)
System.Web.UI.WebControls.Menu.DataBindRecursive(MenuItem node、IHierarchicalEnumerable enumerable)
System.Web.UI.WebControls.Menu.DataBindItem(MenuItem item)
で 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、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()<で

役に立ちましたか?

解決

Stefan Go&#223; ner のブログ投稿が質問に答えているようです。問題は、SPWebオブジェクトが閉じられていないことではなく、割り当ての特定のしきい値(デフォルトは8)に達すると、ログに警告が作成されることです。サイト構造に応じて、作成される番号は異なります。ナビゲーションのネストされた性質を考えると、サブツリーがトラバースされる間、オブジェクトは開いたままになります。オブジェクトは 正しく破棄されます。特定の時間に8個以上(デフォルト)が開いたままになっているだけです。

この質問を見る

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top