2012-03-16 73 views
4

我遇到了IIS问题,试图访问虚拟文件夹路径。访问虚拟文件夹时出现IIS 7 500错误

我的应用程序(.Net 3.5 SP1,MVC 1.0)生成报告结果文件,这些文件通过基于Unix的vfiler上的虚拟路径着陆(我认为目标是NetApp设备)。当我的用户尝试访问通过通过IIS HTTP请求的报告(托管WinServ 2K8 R2 64位),他们会收到以下500错误:

Log Name:  Application 
Source:  ASP.NET 2.0.50727.0 
Date:   3/14/2012 1:07:20 PM 
Event ID:  1185 
Task Category: File Monitoring 
Level:   Error 
Keywords:  Classic 
User:   N/A 
Computer:  %APPLICATION_SERVER% 
Description: 
Failed to start monitoring changes to '%PATH_TO_FILE_SHARE%' 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. 

我没有很多的知名度在这环境(我是应用程序的供应商),但问题似乎是累积的,只有当IIS经纪人连接。如果我手动输入客户端机器上的命令/运行窗口的路径,我可以访问该文件 - 使我相信它不是基于权限的。我也可以在IIS管理器中访问它。当我做一个IISRESET时,这个问题会被简化。

有什么想法?我试着按照(相当老的)知识库文章中的说明进行操作,但这并没有帮助。

编辑:我要指出,这是一个生产系统

回答

1

仅供参考,下面的文章让我们来解决这个问题:http://blogs.msdn.com/b/carloc/archive/2009/09/06/hosting-on-a-unc-share-is-not-supported-for-the-windows-xp-platform.aspx

我们设置HKLM \软件\微软\ ASP。 NET \ FCNMode值设置为“2”,这可以将我们的多路连接减少到可管理的值。微软的官方建议是增加SAN上的复用连接限制,但这对我们来说是不可行的,因为它需要压低SAN上托管的所有CIFS共享。

希望这可以帮助未来的人。

1

这是我在使用IIS托管时遇到的最糟糕的问题之一。

这里是所有我们尝试的东西,都无济于事 - 我张贴他们对你的情况下,也许他们会在你的情况下工作:

在IIS箱

  1. DWORD FCNMode at HKLM \ Software \ Microsoft \ ASP.NETchange /添加值为1以禁用。
  2. DWORD FCNMode at HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ ASP.NET更改/添加值为1以禁用。
  3. DWORD MaxCmds在HKLM \系统\ CurrentControlSet \服务\ lanmanworkstation \参数变化/增加值为> 50,最大的65535 - 我们在HKLM \系统\ CurrentControlSet尝试值一路攀升到65535
  4. DWORD MaxMpxCt \ Services \ LanmanServer \ Parameters更改/添加值> 50,最大值65535 - 在IIS框中,您需要将其配置为与MaxCmds相同。
  5. 更改应用程序池是“无托管代码”
  6. 停止IIS从检查子目录的web.config文件中 - 转到IIS管理器中的顶级服务器 - >配置编辑器 - >部分“system.applicationHost /网站” - >打开集合 - >在每个站点中,将virtualDirectoryDe​​faults-> allowSubDirConfig更改为False - >关闭集合编辑器,然后单击Apply。

在文件服务器:

  1. DWORD MaxWorkItems在HKLM \系统\ CurrentControlSet \服务\ LanmanServer \参数变化/添加具有值> 4096,最高65535 - 这是最容易通过IIS来计算盒子* MaxCmds值在IIS框 - 或只是最大值65535.
  2. DWORD MaxMpxCt at HKLM \ System \ CurrentControlSet \ Services \ LanmanServer \ Parameters更改/添加值> 50,最大65535 - 我的印象是这个是在客户端和服务器之间进行协商的两者中的哪一个是应用的。我们尝试了不同的值直到最大。

我会继续添加到这个答案,因为我们尝试/失败与各种新的选项。还有一件事我应该提到 - 如果你有奇怪的片状UNC路径解析错误:“指定的网络名称不再可用或者你没有权限” - 临时尝试禁用超大MTU和你的NIC具有的任何卸载选项(在IIS和文件服务器框),看看是否有帮助(它解决了我们与惠普网卡的问题)。

UPDATE: 我们启用了SMB 2我们的文件服务器(Linux的NAS)上,并与我们已经在IIS中所做的更改注册表,我们终于停止接受可怕的网络BIOS限制错误。

相关问题