2016-02-16 42 views
0

我正在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 

我縮小了這個問題,它與檢查指數有關。在開發環境中,我只需要重建並且工作正常,但是在測試中我們需要停止應用程序池刪除檢查索引並重新啓動。

我也是從我已閱讀,這可能涉及到重複的用戶,但存在於數據庫中沒有這樣的事日誌

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數據庫。我不確定這是否會導致這種衝突。

無論如何,我對這個錯誤感到非常困惑,任何幫助都會受到高度讚賞,因爲它非常重要。

由於提前,瓦西利斯

回答

相關問題