Many times I thought I found the solution but after time I was disappointed it did not work. I have spend months trying to find what the cause was and I found it was Google and MSN bot. Blocking those two in my Firewall did the trick, it stopped the errors completely. I don't want to block any search engine but I decided to block all of them exept for Google, that seems to important for my site.
There is another error that seems to be related to this. It is at least caused by cached pages in Google. If you search something in Google it also shows you a link to cached content of that page. As soon as you click that link (assuming it is your page that is cached by Google) it will throw the following error:
ModuleId: 366
ModuleDefId: 106
FriendlyName: Smallbizserver.Net Forum
ModuleControlSource: DesktopModules/NTForums/NTForums.ascx
AssemblyVersion: 04.03.01
Method: System.Web.Caching.CacheEntry..ctor
FileName:
FileLineNumber: 0
FileColumnNumber: 0
PortalID: 0
PortalName: Smallbizserver.Net
UserID: -1
UserName:
ActiveTabID: 53
ActiveTabName: Forum
AbsoluteURL: /Default.aspx
AbsoluteURLReferrer:
ExceptionGUID: 7bead622-a707-4c6e-88eb-157b284b360b
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
InnerException: Value cannot be null. Parameter name: value
Message: DotNetNuke.Services.Exceptions.ModuleLoadException: Value cannot be null. Parameter name: value ---> System.ArgumentNullException: Value cannot be null. Parameter name: value at System.Web.Caching.CacheEntry..ctor(String key, Object value, CacheDependency dependency, CacheItemRemovedCallback onRemovedHandler, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, Boolean isPublic) at System.Web.Caching.CacheInternal.DoInsert(Boolean isPublic, String key, Object value, CacheDependency dependencies, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback, Boolean replace) at System.Web.Caching.Cache.Insert(String key, Object value, CacheDependency dependencies) at NetTech.NTForums.ForumBase.get_ForumInfo() at NetTech.NTForums.toolbar.Page_Load(Object sender, EventArgs e) --- End of inner exception stack trace ---
StackTrace:
Source:
Server Name: WEBSERVER
The above error is not exactly the one you would get if you view such a cached page on Google, the referrer will show you the exact URL to that cached page. If I further analyze my Firefwall logs I can see a call is made for all the stuff you see on that cached page. If you look in the source of that cached page on Google you will also see a Viewstate value and I bet this van never be valid causing probably the 'slidingExpiration' error. Maybe Google caches the httponly cookies that are new .Net 2.0 but I also tried setting that to 'false' in the web.config, did not fix it either. As long as no user complains about errors on the site I am not stressed to find a solution but it would be nice to have clean logs. I have never seen clean logs with .Net 2.0 and Dotnetnuke. With .Net 1.1 that was different. My server could run for weeks, months without errors. It all started with 3.2.2 and .Net 2.0. As soon as I switched back to .Net 1.1 the errors were gone...
I have limited knowledge about all of this but I am trying to find a reason for those errors using my common sense and never ending search for solutions.