definiert Ich habe eine ASP.NET-Middleware in Form von ActionFilterAttribute
.Ignorieren ActionFilterAttribute, obwohl explizit auf Controller/Aktion
Zum Beispiel:
[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});
}
Das Attribut CacheResponse
ein nuget ist, kann ich nicht seinen Code berühren. Noch möchte ich eine Feature-on/off-Konfiguration haben, also wenn ich den Cache-Mechanismus deaktivieren möchte, muss ich keine Änderungen im Code vornehmen.
Wie könnte ich das Abonnement einiger Controller/Aktionen auf Attribute "abbrechen"? obwohl es explizit damit verziert ist?
Ich bin auf der Suche nach einem Code für den Start von webrole, dass bei gegebenem Konfigurationswert für das Feature-on/off die Dekoration abbrechen würde.
Vielen Dank
Wie registrieren Sie die Middleware in der Startup.cs? – Nikolaus
Ich registriere nichts in 'Startup.cs'. Ich setze einfach ein Attribut auf den Controller/Action und es geschieht magisch :) – johni
Sie können das Attribut mit Ihrem benutzerdefinierten Attribut umbrechen, wo Sie entscheiden, ob Sie es verwenden oder nicht. Aber ich bin kein Experte für Filterattribute. – Nikolaus