FileSystemWatcherexception – 已达到networkingBIOS命令限制

我已经试过在Stackoverflow上提出这个问题 ,考虑到它与编程有关,但它似乎更像是一个服务器问题。

我在Windows Server 2008上安装了基于.NET Framework 3.5的应用程序,它监视远程服务器/networkingpath上的22个文件夹。 我正在使用FileSystemWatcher ,每FileSystemWatcher我会在日志中得到一个exception。

System.ComponentModel.Win32Exception:已达到networkingBIOS命令限制。

我已经尝试过下面的文章KB-810886 ,但是因为我的服务器是Windows Server 2008,我没有MaxCmdsMaxMpxCT等registry项。我已经看过Stackoverflow上的这个和这一个 ,但没有他们似乎已经解决了这个问题。

我的问题是:

有没有办法增加Windows Server 2008中MaxCMD的限制? 我必须增加我的服务器托pipeWindows服务的限制,或者我应该增加文件服务器(其中包含所有文件夹)的限制。

这里是我在我的代码中试过的代码:

我已经尝试增加InternalBufferSize到MAX(64K),但它没有任何影响的exception。

我已经将其定义为:

在课堂上:

 FileSystemWatcher fsw; 

在初始化方法

 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; 

我也确保我处置错误的FileSystemWatcher对象或停止服务。 喜欢

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

任何帮助或指导解决这个问题表示赞赏。