public override void OnActionExecuting(ActionExecutingContext filterContext) { var areaName = AreaTable.GetAreaForController(filterContext.Controller.GetType().FullName); if (areaName != null) { filterContext.RouteData.DataTokens["area"] = areaName; } }
public static void RegisterAllAreas(Action <AreaConfigurationSettings> configuration = null) { configuration?.Invoke(Settings); AreaRegistration.RegisterAllAreas(); var areas = TypeAttributeHelper.GetTypesChildOf <AreaRegistration>(); foreach (var area in areas) { var areaRegistration = AreaTable.AddArea(area); var ns = area.Namespace; if (string.IsNullOrEmpty(ns)) { continue; } var controllersInArea = TypeAttributeHelper.GetTypesChildOf <Controller>().Where(t => t.Namespace != null && t.Namespace.StartsWith(ns)); controllersInArea.ToList().ForEach(t => AreaTable.RegisterController(t.FullName, areaRegistration.AreaName)); } }