1

I have tried asking this question on Stackoverflow, considering it is related to programming, but it appears it is more of a server issue than anything.

I have .Net framework 3.5 based application on Windows Server 2008, which is monitoring 22 folders on a remote server/network path. I am using FileSystemWatcher and every now and then I will get an exception in the log.

System.ComponentModel.Win32Exception: The network BIOS command limit has been reached.

I have tried following the article KB-810886, but since my server is Windows Server 2008 I don't have registry keys for MaxCmds, MaxMpxCT etc. I have already looked at related questions on Stackoverflow like this one and this one, but none of them seems to have resolved the issue.

My question is:

Is there a way to increase the limit of MaxCMDs in Windows Server 2008 ? and Do I have to increase the limit on my server hosting Windows Service, or should I increase the limit on the File Server (which has all the folders).

Here are coding things I have tried in my code:

I have tried increasing the InternalBufferSize to MAX (64K) but it doesn't have any effect on the exception.

I have defined it like:

At Class level:

FileSystemWatcher fsw;

In Initialization method

fsw = new FileSystemWatcher("FolderUNC");
fsw.IncludeSubdirectories = false;
//m_fsw.InternalBufferSize = 65536; -- Commented out to default 8K
fsw.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.DirectoryName | NotifyFilters.FileName | NotifyFilters.Size;
fsw.Renamed += new RenamedEventHandler(OnChanged);
fsw.Deleted += new FileSystemEventHandler(OnChanged);
fsw.Changed += new FileSystemEventHandler(OnChanged);
fsw.Created += new FileSystemEventHandler(OnChanged);
fsw.Error += new ErrorEventHandler(OnFileSystemWatcherError);
fsw.EnableRaisingEvents = true;   

I am also making sure that I dispose the FileSystemWatcher object on Error or on stopping the service. Like

if (fsw != null)
    fsw.Dispose();

Any help or guidance in resolving the issue is appreciated.

0

You must log in to answer this question.

Browse other questions tagged .