You are currently offline, waiting for your internet to reconnect

Error: "Access to the path 'DRIVE:\blobCache\##########\' is denied." when using SharePoint webapps with different application pool identities

Symptoms

When there are several web applications running under different application pool accounts to ensure security separation you will experience this issue when blob caching is enabled for more than one of the web applications but proper rights are not manually added on the file system path for the blobcache folder.  This can cause web applications to become slow or inaccessible.

You will see errors like the following accruing in the event logs:

A runtime exception was detected. Details follow.
Message: Access to the path 'DRIVE:\blobCache\#########2\' is denied.

Technical Details:
System.UnauthorizedAccessException: Access to the path 'DRIVE:\blobCache\#########2\' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)
at System.IO.Directory.CreateDirectory(String path, DirectorySecurity directorySecurity)
at Microsoft.SharePoint.Publishing.BlobCache.CreateDirectory(String directoryName)
at Microsoft.SharePoint.Publishing.BlobCache.WriteIndex(Boolean tokensOnly)
at Microsoft.SharePoint.Publishing.BlobCache.WriteIndex()
at Microsoft.SharePoint.Publishing.BlobCache.<>c__DisplayClass14.<>c__DisplayClass17.<FetchItemFromWss>b__11()
at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock)

An error occured in the blob cache. The exception message was 'Access to the path 'DRIVE:\blobCache\#########2\' is denied.'.

Cause
Consider the following scenario. An author starts using the site collections - the first author hits webapp1.
When he hits webapp1, DRIVE:\blobcache (the path specified in the blobcache-entry) is created, and so is DRIVE:\blobcache\#########1 (the number of the IIS app pool). Both directories get full control set for the webapp1 web application user.
The author then turns to webapp2. SharePoint tries to create DRIVE:\blobcache\#########2 (the number of the IIS pool) - but fails, since that user doesn't have permissions to create anything in DRIVE:\blobcache. SharePoint logs an error in the event log and continues. It does this for every image it tries to access.
Resolution

Workarounds in order of easiness:

1. Use a different root blobcache folder for each application.

To work around this issue you can specify a different folder when configuring blob caching for each web application in the web.config.

<BlobCache location="DRIVE:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" max-age="86400" enabled="True"/>

If you set the BlobCache locations to the following you should avoid this problem:
Web Application Location
First   DRIVE:\blobCache
Second   DRIVE:\blobCachetwo
Third   DRIVE:\blobCachethree

2. Manually give <LOCALMACHINE>\WSS_WPG full control to DRIVE:\BlobCache.

3. Use the same app pool account for any applications you plan to enable blobcaching on.

More Information
Plan for administrative and service accounts (Office SharePoint Server)
http://technet.microsoft.com/en-us/library/cc263445.aspx
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.
Properties

Article ID: 2015895 - Last Review: 03/05/2010 15:59:00 - Revision: 3.0

  • Microsoft Windows SharePoint Services 3.0
  • Microsoft Office SharePoint Server 2007
  • KB2015895
Feedback