2012-05-18 32 views
0

我似乎無法得到MVC忽略這條路線(將引發文件不存在未發現的控制器 - 這偶爾會發生,如果產生不能完成預期)MVC3 - IgnoreRoute正則表達式

/WebDirectory/signalFiles/52f23308-6d2d-40e6-9048-319e0539c83d.txt 

我現在想要這個權利在Global.asax消除錯誤

routes.IgnoreRoute("{*signalstxt}", new { signalstxt = @".*/signalFiles/.*.txt" }); 

此完美匹配的正則表達式測試儀,但不執行任何操作,在實際應用

有什麼想法?

回答

0

由於IIS 7 & MVC3通過託管管道處理請求的方式,因此需要good deal of effort來阻止通過路由引擎運行靜態文件請求。我已經看到一些證據表明,將靜態文件移動到Web應用程序目錄之外的虛擬目錄會產生所需的效果,但沒有機會爲我自己測試。

編輯

澄清:你所看到的例外是MVC3操作的正常組成部分。這是處理程序如何通知IIS管道它無法處理請求,從而調用下一個處理程序。您可以通過在Visual Studio Debug設置中啓用「只是我的代碼」來防止它干擾您的調試。