簡體   English   中英

具有相同鍵的條目已存在

[英]An entry with the same key already exists

我正在Umbraco 7中建立一個站點。我在7.3.x上已更新為7.4.0。 該網站偶爾會崩潰,我會收到以下消息。

 [ArgumentException: An entry with the same key already exists.]
   System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) +52
   System.Collections.Generic.SortedList`2.Add(TKey key, TValue value) +6744873
   Umbraco.Core.MainDom.Register(Action install, Action release, Int32 weight) +128
   Umbraco.Core.Sync.DatabaseServerMessenger.Boot() +55
   Umbraco.Web.BatchedDatabaseServerMessenger.Startup() +186
   Umbraco.Web.BatchedDatabaseServerMessengerStartup.ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext) +63
   Umbraco.Core.ApplicationEventHandler.OnApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext) +37
   Umbraco.Core.CoreBootManager.<Complete>b__a(IApplicationEventHandler x) +230
   Umbraco.Core.EnumerableExtensions.ForEach(IEnumerable`1 items, Action`1 action) +141
   Umbraco.Core.CoreBootManager.Complete(Action`1 afterComplete) +293
   Umbraco.Web.WebBootManager.Complete(Action`1 afterComplete) +60
   Umbraco.Core.UmbracoApplicationBase.StartApplication(Object sender, EventArgs e) +234
   Umbraco.Core.UmbracoApplicationBase.Application_Start(Object sender, EventArgs e) +34

我已經縮小了問題的范圍,它與“檢查索引”有關。 在開發環境中,我只需要重建它就可以了,但是在測試中,我們需要停止應用程序池,刪除Examine index並重新啟動。

我也從日志中得到這個

2016-02-16 08:12:50,006 [P4656/D62/T1] INFO  Umbraco.Core.DatabaseContext - CanConnect = True
 2016-02-16 08:12:50,051 [P4656/D62/T1] INFO  Umbraco.Core.DatabaseContext - CanConnect = True
 2016-02-16 08:12:50,051 [P4656/D62/T1] INFO  Umbraco.Core.DatabaseContext - CanConnect = True
 2016-02-16 08:12:50,072 [P4656/D62/T1] INFO  Umbraco.Core.DatabaseContext - CanConnect = True
 2016-02-16 08:12:50,072 [P4656/D62/T1] ERROR Umbraco.Core.CoreBootManager - An error occurred running OnApplicationStarted for handler Umbraco.Web.BatchedDatabaseServerMessengerStartup
System.ArgumentException: An entry with the same key already exists.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.SortedList`2.Add(TKey key, TValue value)
   at Umbraco.Core.MainDom.Register(Action install, Action release, Int32 weight)
   at Umbraco.Core.Sync.DatabaseServerMessenger.Boot()
   at Umbraco.Web.BatchedDatabaseServerMessenger.Startup()
   at Umbraco.Web.BatchedDatabaseServerMessengerStartup.ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
   at Umbraco.Core.ApplicationEventHandler.OnApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
   at Umbraco.Core.CoreBootManager.<Complete>b__a(IApplicationEventHandler x)
 2016-02-16 08:12:50,074 [P4656/D62/T1] ERROR Umbraco.Core.UmbracoApplicationBase - An unhandled exception occurred
System.ArgumentException: An entry with the same key already exists.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.SortedList`2.Add(TKey key, TValue value)
   at Umbraco.Core.MainDom.Register(Action install, Action release, Int32 weight)
   at Umbraco.Core.Sync.DatabaseServerMessenger.Boot()
   at Umbraco.Web.BatchedDatabaseServerMessenger.Startup()
   at Umbraco.Web.BatchedDatabaseServerMessengerStartup.ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
   at Umbraco.Core.ApplicationEventHandler.OnApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
   at Umbraco.Core.CoreBootManager.<Complete>b__a(IApplicationEventHandler x)
   at Umbraco.Core.EnumerableExtensions.ForEach[TItem](IEnumerable`1 items, Action`1 action)
   at Umbraco.Core.CoreBootManager.Complete(Action`1 afterComplete)
   at Umbraco.Web.WebBootManager.Complete(Action`1 afterComplete)
   at Umbraco.Core.UmbracoApplicationBase.StartApplication(Object sender, EventArgs e)
   at Umbraco.Core.UmbracoApplicationBase.Application_Start(Object sender, EventArgs e)

我已經讀到這可能與重復的用戶有關,但是數據庫中沒有這樣的東西。

可能導致此問題的另一個問題是,開發站點和測試站點共享相同的Umbraco數據庫。 我不確定這是否會導致這種沖突。

無論如何,我對這個錯誤感到非常困惑,由於它非常關鍵,因此我們將不勝感激任何幫助。

預先感謝,瓦西里斯

可以共享數據庫,但是您需要將其設置為負載平衡環境。 (正在緩存)

遵循指南https://our.umbraco.org/documentation/Getting-Started/Setup/Server-Setup/load-balancing/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM