Ich habe mehrere Projekte, die in f/x4.0 die sind no MVC. Kein Web involviert. In der Tat ist eine ein Windows-Dienst, eine andere ist eine Reihe von Bibliotheken für entweder Win Forms oder Befehlszeilenverarbeitung verwendet. Nun, in MVC3 können Sie etwas tun, wie:
using System;
using System.Collections.Generic;
using System.Web.Mvc;
namespace RivWorks.FeedHandler.Library
{
class AttributeLogsRequest : ActionFilterAttribute, IActionFilter
{
void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext)
{
// do something here...
}
void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
{
// do something here...
}
}
}
Jetzt müssen Sie nur noch einen ActionFilter zu einer Methoden- oder Klassendefinition hinzufügen, und die beiden oben genannten Aufrufe erfolgen automatisch:
[AttributeLogsRequest]
public class MyController
{
...
}
Meine Frage ist: Gibt es noch etwas anderes als ActionFilterAttribut, IActionFilter Ich kann verwenden, um nicht-MVC-abhängige Filter für meinen Code zu erstellen? ActionFilterAttribut, IActionFilter liefert Informationen, die sehr MVC-zentrisch sind, wie ControllerName, Action, HttpContext usw. Es muss einen einfacheren Weg geben, um einen einfachen Filter für übergreifende Belange zu erstellen.
TIA