2012-03-16 95 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限制錯誤。

相關問題