Ich versuche, ein benutzerdefiniertes ActionFilterAttribute wie angezeigt zu erstellen. Das Attribut enthält nur eine Eigenschaft von Path.MVC Web API 2 - Verwenden von benutzerdefinierten Attribut für Aktion
public class TestLinkAttribute : ActionFilterAttribute
{
public string Path { get; set; }
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
}
}
Ich mag wäre in der Lage sein, dieses Attribut für den Zugriff auf den Bereich Hilfeseiten, dass Web-api zu dieser ähnlich integriert.
<td class="api-testLink">
@{
var attrColl = api.ActionDescriptor.GetCustomAttributes<TestLinkAttribute>();
if(attrColl.Count > 0)
{
<p>@attrColl[0].Path</p>
}
}
</td>
Ich schmückte die Aktion so.
[TestLink(Path = "api/surveys/72469282/responses")]
public string GetQuestions(int id)
{
}
Dies ist völliges Neuland für mich, und ich habe ein wenig Forschung getan, aber nicht/weiß nicht, ob es eine schnelle Möglichkeit, dies zu erreichen. Zur Zeit ist die Ausgabe leer, da die Attributsammlung nie> 0 ist
Ich habe eine einfache Version von diesem erstellt, ein benutzerdefiniertes Attribut erstellen, es einer Aktion zuweisen und dann ziehen das Attribut aus, um eine 'Pfad'-Eigenschaft anzuzeigen, wie Sie gezeigt haben. Alles funktioniert in meiner Beispiellösung. Können Sie ein Beispiel bereitstellen, das nicht funktioniert und es z. Github? –
Leider kann ich das momentan nicht. Es ist eine interne App und das Unternehmen ist sehr streng über das Hosting dieser Art von Dingen extern. – Eric
Gibt es eine Chance, dass etwas anderes notwendig ist, weil ich versuche, auf das Attribut im Hilfebereich dieser Anwendung zuzugreifen und etwas mit Reflektion? Ich kann das außerhalb dieser Gegend problemlos tun. – Eric