2011-11-08 70 views
2

我最近公佈的一些代碼對我們的生產網站,我注意到,IIS是記錄一些錯誤與例外的文字:重複控件ID領先的例外

多個控件使用相同的ID「_ffffca417ddfd512」是找到。 FindControl要求控件具有唯一的ID。

我現在沒有堆棧跟蹤。該頁面大部分是靜態內容,帶有幾個鏈接按鈕和一些用戶控件。它還使用Sitecore 6.0 CMS框架(其內容項目)。我禁用了用戶控件和頁面(佈局)的.net緩存,並且似乎已經修復了它,但是該網站非常繁忙,並且我想要一些緩存。

我的問題是這是一個在sitecore知道的問題?而且,我應該只緩存在頁面級還是sitecore的控制級?

+1

您可能會發現這篇文章有意思:http://sdn.sitecore.net/upload/ sitecore6/sc62keywords/cache_configuration_reference_us.pdf –

回答

1

這似乎並不成爲一個Sitecore的具體問題 - http://support.microsoft.com/kb/834608

如果你使用它,關閉ASP.net輸出緩存,並且使用Sitecore的緩存,內聯:

<sc:Sublayout runat="server" runat="server" Cacheable="true" VaryByData="true"/> 

......或者......

<sc:XslFile runat="server" runat="server" runat="server" Cacheable="true" VaryByData="true"/> 

...或者你演示綁定在模板或項目級別,或在sublayout或任dering 定義項目。所有三個位置都有相同的緩存選項。

0

緩存在子圖層(控制)級別,因爲它們可以在頁面之間重複使用。這應該滿足動態數據的緩存需求,假設您儘可能地利用子佈局。

0

從Sitecore的E-Commerce安裝指南發現這個(Sitecore的電子商務服務2.1and CMS 7.0版本:2013年10月17日第12頁)

在某些情況下,特別是在服務器的負載很高時, CMS內容編輯器可能會顯示以下錯誤消息 :

找到具有相同標識的多個控件。 FindControl需要控件具有唯一的ID

解決方法:註釋掉在web.config文件中的以下處理器:

<processor type="Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor, Sitecore.Client"/> 

這指示內容編輯或忽略了皮膚設置當前項目 。這些設置取自__Skin字段或ContentEditor.DefaultSkin 設置的值。所有項目現在將默認的皮膚呈現,你不會再看到錯誤消息

希望這可以幫助別人