我似乎无法让MVC忽略这条路线(如果文件不存在则抛出未找到的控制器 - 偶尔会发生这种情况,如果生成不完整则会发生这种情况)
/WebDirectory/signalFiles/52f23308-6d2d-40e6-9048-319e0539c83d.txt
我现在正在Global.ASAX中尝试这个以消除错误
routes.IgnoreRoute("{*signalstxt}", new { signalstxt = @".*/signalFiles/.*.txt" });
这在RegEx测试仪中完全匹配,但在实际应用程序中什么都不做
有什么想法吗?
答案 0 :(得分:0)
由于IIS 7和& MVC3通过托管管道处理请求,它需要good deal of effort来阻止通过路由引擎运行静态文件请求。我已经看到一些证据表明将静态文件移动到Web应用程序目录之外的虚拟目录会产生预期的效果,但是没有机会为自己测试这个。
修改强>
澄清:您看到的异常是MVC3操作的正常部分。处理程序通知IIS管道它无法处理请求,从而调用下一个处理程序。您可以通过在Visual Studio调试设置中启用“仅我的代码”来防止它干扰您的调试。