SORU
24 NİSAN 2012, Salı


ASP.NET Web API örnek ActionFilter

Tüm MVC olayında daha yeniyim ve yeniden uygulanması XML Web Hizmetleri API ASP.NET ile bakıyor. Bir parçası olarak bunu istiyorum uygulamak için bir eylem filtre günlükleri, her türlü eylem ve istisnalar gibi geliyor zamanlama çok düşündüm başlaması ile birlikte bir Eylem Filtresi, ancak filtre değil çağırdı.

public class MyTrackingActionFilter : ActionFilterAttribute, IExceptionFilter 
{
    private Stopwatch stopwatch = new Stopwatch();

    public void OnException(ExceptionContext filterContext)
    {
           ...
    }

    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
           ...
    }

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        this.stopwatch.Start();
        Trace.TraceInformation(" Entering {0}", filterContext.RouteData);
    }

}

ve kumandada var

[MyTrackingActionFilter]
public class MyResourceController : ApiController
{
  ...
}

Yolları Kur geneldir.asax kullanarak çağırır gibi:

var routeTemplate = ...
var defaults = new { controller = controllerName, action = methodName };
var constraints = new { httpMethod = new HttpMethodConstraint(myHTTPMethods.Split(',')) };

routes.MapHttpRoute(methodName, routeTemplate, defaults, constraints);

Konu MyResourceController eylemleri beklendiği gibi çağırılan ve başarılı bir çalışma. İstemci gerekli bilgi için sunucu sorgu yapabiliyor ve tüm iyi, aksiyon filtre yöntemlerden hiçbiri çağrılan dışında davranır.

Benim anlayış gerisi gerçekleşti "otomatik olarak yüklenecektir". Açıkça yeterli değil - yanlış ne Herhangi önerilerinizi? Bu bir yere kayıt olmam gerekiyor?

CEVAP
24 NİSAN 2012, Salı


Kodunuz gelen ActionFilterAttribute kullandığından emin olmalısınSistem.Web.Http.Filtrelerve bir adSistem.Web.Mvc.

Bu yüzden lütfen dikkat edin

 using System.Web.Http.Filters;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AyfionGaming

    AyfionGaming

    20 ŞUBAT 2013
  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011
  • trickycharms

    trickycharms

    6 Aralık 2013