ASP.NET 2.0 event log error workaround when using network shares

After considerable research by our team and Microsoft, we found an un-documented issue with ASP.NET 2.0.   The issue manifests itself with tons of error messages in the event logs:

Unable to get the private bytes memory limit for the W3WP process. The
ASP.NET cache will be unable to limit its memory use, which may lead to a
process restart. Error: 0x80070005

The only support documentation we could find was related to Application Center 2000 or using IISCFG to replicate the IIS Metabase settings between sites in a load balanced cluster.  Neither of these applied in our situation, and none of the suggested workarounds actually solved the issue.

What we did find was an issue when using the "Connect As..." option for storing web site files on a network share.  It turns out that this account must be included in the IIS_WGP Group as well, plus give it "Logon as a Service" privileges.  Here is a complete list of the steps we had to take on each server to resolve the issue:

  1. aspnet_regiis –ga “Network Service”
  2. cscript metaacl.vbs IIS://Localhost/W3SVC/AppPools IIS_WPG RE
  3. Add “Connect As” account to IIS_WPG group.
  4. Allow "Connect As" accont to logon as a service.