J'ai un middleware ASP.NET sous la forme ActionFilterAttribute
.Ignorer ActionFilterAttribute, bien que défini explicitement sur le contrôleur/l'action
Par exemple:
[CacheResponse(Seconds = 3)]
public async Task<IHttpActionResult> Echo(string userId, string message, string queryString)
{
await Task.Delay(150);
return Ok(new {Action = "Echo", UserId = userId, Message = message, QueryString = queryString});
}
L'attribut CacheResponse
est un NuGet, je ne peux pas toucher son code. Pourtant, je voudrais avoir une fonctionnalité de configuration on/off, donc si je veux désactiver le mécanisme de cache, je n'aurai pas à faire des changements dans le code. Comment puis-je "annuler" l'abonnement de certains contrôleurs/actions à des attributs? même si c'est explicitement décoré avec?
Je cherche un morceau de code à lancer au démarrage de webrole, cela étant donné que la valeur de configuration pour le feature-on/off annulerait la décoration.
Merci
Comment enregistrer le middleware dans Startup.cs? – Nikolaus
Je n'enregistre rien dans 'Startup.cs'. Je viens de mettre un attribut sur le Controller/Action et cela arrive comme par magie :) – johni
Vous pouvez envelopper l'attribut avec votre attribut personnalisé, où vous décidez si vous l'utilisez ou non. Mais je ne suis pas un expert avec des attributs de filtre. – Nikolaus