Hello,
We are using SEO Menu 3.5.17 and we have identified some bugs.
1. When you have several users and several pages, cache cleaning eats up CPU for hours.
Here is the solution. edit SEOMenuSkinObject.ascx.vb and replace cmdClearCache_Click with the following: (this was tested on DNN 4.5.3)
DataCache.RemoveCache("SEOMenuModuleSettings" & Me.ModuleId.ToString)
DataCache.RemoveCache("SEOMenuSettings" & Me.ModuleId.ToString)
DataCache.RemoveCache("SEOAdminSettings")
DataCache.RemoveCache("SEOMenuSkinObjectSettings")
'
Try
'
Dim it As IDictionaryEnumerator = CachingProvider.Instance.GetEnumerator()
While (it.MoveNext)
Dim key As String = it.Key.ToString
if (key.StartsWith("SEOAdminMenu") or key.StartsWith("SEOMenuSkinObjectMenu") or key.StartsWith("SEOMenuModuleMenu") or key.StartsWith("SEOMenuMenu"))
CachingProvider.Instance.Remove(key.ToString)
end if
End While
'
Catch ex As Exception
Response.Write(ex.Message)
DotNetNuke.Services.Exceptions.LogException(ex)
End Try
'
2. Cache keys are ambiguous. For instance SEOMenuSkinObject.ascx.vb, line 219 reads:
DataCache.SetCache(
"SEOMenuSkinObjectMenu" &
PortalSettings.ActiveTab.TabID.ToString &
username &
cinfo.CurrentCulture.Name.ToString
, strSEOMenu, TimeSpan.FromMinutes(intCacheTimeout))
This is caching menu for a tabId, a Username and a Culturename. Imagine for a second we have 2 tabs with Ids 1 and 11 and 2 users 1 and 11. Cache content would be overriten and mixed when user 11 visits page 1 and when user 1 visits page 11. This is a bit unlikely, but not impossible.
Please fix. |