Ну, HttpPostAttribute запечатан.Но вы можете заглянуть в него (ILSpy - ваш друг) для вдохновения:
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public sealed class HttpPostAttribute : ActionMethodSelectorAttribute
{
private static readonly AcceptVerbsAttribute _innerAttribute = new AcceptVerbsAttribute(HttpVerbs.Post);
public override bool IsValidForRequest(ControllerContext controllerContext, MethodInfo methodInfo)
{
return HttpPostAttribute._innerAttribute.IsValidForRequest(controllerContext, methodInfo);
}
}
довольно просто, да?Вы просто создаете точно такую же логику, а взамен ставите
return (yourCustomCondition) && HttpPostAttribute._innerAttribute.IsValidForRequest(controllerContext, methodInfo);