子目录的ASP.NET MVC 404错误

时间:2014-04-07 21:46:40

标签: asp.net-mvc iis http-status-code-404

我已将自定义404页面添加到我的asp.net mvc应用程序中。除了在MVC路由引擎中排除的某些路径之外,它的工作原理非常好。正如您所想象的那样,我也希望我的404页面能够用于这些URL。

所以问题是:我可以在IIS中添加一些设置,我只能将它指向404页面的端点。

谢谢!

2 个答案:

答案 0 :(得分:1)

不,IIS上没有任何自定义设置。

适合我。我在web.confg中设置了以下设置

          

我的RegisterRoutes方法如下

        public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
    }

答案 1 :(得分:0)

我最后编写了一个StaticContentController,它只是打开一个文件流并将其返回给浏览器。路径由路由引擎严密控制,以避免安全问题,并且它被高度缓存。

关于文件流的说明,当我第一次实现它时,我使用的是MVC' return File(...方法,但在流式传输时会锁定文件,所以我有一些文件争用的实例对于同时写入的文件。这就是为什么我切换到返回FileStream,所以我可以传递正确的文件共享选项,允许另一个进程写入文件。