我有IIS7和IIS表达对地方,这是使用的Application_Error用于记录异常和重定向到一个自定义错误页一个asp.net MVC 3应用程序。 我的应用程序有不同的区域,每当控制器或动作不匹配的Application_Error被调用,而不是该地区。
这里是所使用的路线的一个例子:
routes.MapRoute(
"Default",
"{region}/{controller}/{action}/{id}",
new { region = "uk", controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new { region = new RegionWhitelistConstraint() } // constraint for valid regions
);
在这种情况下的Application_Error会被解雇/英国/ NotFoundPage但不适用于/富/主页
这里该地区的约束:
public class RegionWhitelistConstraint : IRouteConstraint
{
public bool Match(System.Web.HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
var whiteList = Region.DefaultWhiteList;
var currentRegionValue = values[parameterName].ToString();
return whiteList.Contains(currentRegionValue);
}
}
我已经看到了这个问题,即提出将包罗万象的路线,但除此之外,我想知道是否有烧制的Application_Error,因为它是在控制器或动作做的一种方式。