I had same situation like Doug described above
Mi solución: 1) Creado encargo Controlador de fábrica. Es necesario obtener ControllerContext en mi atributo https personalizado.
public class CustomControllerFactory : DefaultControllerFactory
{
public override IController CreateController(RequestContext requestContext, string controllerName)
{
var controller = base.CreateController(requestContext, controllerName);
HttpContext.Current.Items["controllerInstance"] = controller;
return controller;
}
}
}
2) En función de Application_Start de archivo Global.asax escribió después:
ControllerBuilder.Current.SetControllerFactory(new CustomControllerFactory());
3) https personalizados definidos atribuyen:
public class CustomRequireHttpsAttribute : System.Web.Mvc.RequireHttpsAttribute
{
public bool RequireSecure = false;
public override void OnAuthorization(System.Web.Mvc.AuthorizationContext filterContext)
{
if (RequireSecure && !((Controller)HttpContext.Current.Items["controllerInstance"]).ControllerContext.IsChildAction)
{
base.OnAuthorization(filterContext);
}
}
}
4) Uso de nuevo atributo para la definición de la cuenta controlador: [CustomRequireHttps]
Usted puede mirar esta pregunta http://stackoverflow.com/questions/2056421/why-are-redirect-results-not -allow-in-child-actions-in-asp-net-mvc-2 – Tassadaque
¿Cuántas veces tiene la intención de preguntar esto hoy? Posible duplicado de [Error al ejecutar la solicitud secundaria para controlador] (http://stackoverflow.com/questions/8924177/error-executing-child-request-for-handler) –