Hi,
We have recently upgraded an application built on top of DNN and along with it upgraded the DNN version from 4.3 to 4.5.5. . We are facing an issue in the application in a load situation whereby it gives an index out of range, when it tries to access the dictionary mapping tabId from friendly name.
The exact error is
-------------------------------------------------------------------------------------------------------------------------------
An exception of type System.IndexOutOfRangeException occurred : at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Collections.Generic.Dictionary`2.set_Item(TKey key, TValue value)
at DotNetNuke.Entities.Portals.PortalController.AddPortalDictionary(Int32 portalId, Int32 tabId)
at DotNetNuke.Entities.Tabs.TabController.FillTabInfo(IDataReader dr, Boolean CheckForOpenDataReader)
at DotNetNuke.Entities.Tabs.TabController.FillTabInfo(IDataReader dr)
at DotNetNuke.Entities.Tabs.TabController.GetTab(Int32 TabId, Int32 PortalId, Boolean ignoreCache)
at DotNetNuke.Entities.Portals.PortalSettings.VerifyPortalTab(Int32 PortalId, Int32 TabId)
at DotNetNuke.Entities.Portals.PortalSettings.GetPortalSettings(Int32 TabId, PortalAliasInfo objPortalAliasInfo)
at DotNetNuke.Entities.Portals.PortalSettings..ctor(Int32 tabId, PortalAliasInfo objPortalAliasInfo)
at DotNetNuke.HttpModules.UrlRewriteModule.OnBeginRequest(Object s, EventArgs e)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
-----------------------------------------------------------------------------------------------------------------------------------------------------
One charecteristic of the issue seems to be that it presists even after the load comes down, though on one occasion it stopped on
it's own, other times we had to resort to IIS Resets.
We run the application over 4 web servers load-balanced ( with sticky sessions ) with 4 worker processes in each server.
Any help , leads would be greatly appreciated.
Regards,
Hari