Hosting on a UNC share is not supported for the Windows XP Platform


If you have a complex solution, with a lot of folders and subfolders, and you are hosting and debugging it on a remote IIS server (not on your local machine), you may get an error similar to the following:

An error occurred loading a configuration file: Failed to start monitoring changes to ‘<path>’ because the network BIOS command limit has been reached. For more information on this error, please refer to Microsoft knowledge base article 810886. Hosting on a UNC share is not supported for the Windows XP Platform

The article mentioned in the error message (810886) suggests to change the MaxCmds and MaxMpxCt values, but when I had the chance to work on this problem this solution does not always work (anyway I suggest you to give it a try before discarding it).

You may find another message in your event log, like the following:

Event Type: Warning
Event Source: Srv
Event Category: None
Event ID: 2021
Date:
Time:
User: N/A
Computer:
Description: The server was unable to allocate a work item x times in the last 60 seconds

If you do, give the article 317249 a try (increase the MaxWorkItems value).

The solution I find most useful is the one described in 911272: if your .NET build is at least 2.0.50727.62 you already have the fix mentioned in the article but you may need to activate it:

Registry information
To enable this hotfix, you must add the following DWORD value at the following registry key:
HKLM\Software\Microsoft\ASP.NET\FCNMode
The following table lists possible values for the FCNMode DWORD value and the behavior that is associated with each value.

Value Behavior
Does not exist This is the default behavior. For each subdirectory, the application will create an object that will monitor the subdirectory
0 or greater than 2 This is the default behavior. For each subdirectory, the application will create an object that will monitor the subdirectory
1 The application will disable File Change Notifications (FCNs)
2 The application will create one object to monitor the main directory. The application will use this object to monitor each subdirectory

I suggest to set FCNMode to 2, so you’ll still have File Change Notifications in place.

 

Carlo

Quote of the day:
The greatest challenge to any thinker is stating the problem in a way that will allow a solution. – Bertrand Russell

Comments (3)

  1. Bryan Andrews says:

    Have you tried the FCNMode fix when running in 32bit (enable 32-bi applications set to true)?

    The FCNMode set to 2 works for me on 64bit, but once switched to 32 bit it seems the errors come back (as if the 32 bit dlls ignore this setting). We are running windows 2008 r2 (64) with dll version 2.0.50727.4927.

  2. Marco Antonio Contarski says:

    Hi, this error also occurs while using a network drive mapped to a local computer.

    Example:  X: =>  \mylocalcomputerwwwroot   (refers to c:inetpubwwwroot  in local machine)

  3. Naveen Kumar says:

    Changing the FCNMode to 2 is not working for Windows 2008 ( 32 bit).Could anyone suggest the possible solution.

    Thanks in Advance.