我已将自定义404页面添加到我的asp.net mvc应用程序中。除了在MVC路由引擎中排除的某些路径之外,它的工作原理非常好。正如您所想象的那样,我也希望我的404页面能够用于这些URL。
所以问题是:我可以在IIS中添加一些设置,我只能将它指向404页面的端点。
谢谢!
答案 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
,所以我可以传递正确的文件共享选项,允许另一个进程写入文件。