Hi I `m cố gắng để làm một cái gì đó có vẻ kinda dễ dàng, và được ghi lại theo cách đó, nhưng đối với một số lý do nó không đi mà dễ dàng.Tùy chỉnh ASP.NET MVC ActionFilterAttribute - móc không bao giờ được gọi là
basiclly tôi đã viết một cái gì đó như thế này:
public class CacheControllAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
//do something
base.OnResultExecuting(filterContext);
}
}
Tuy nhiên khi tôi cố gắng và sử dụng này vào một kết quả hành động như thế này:
[CacheControllAttribute]
public ActionResult SomeAction()
{
//whatever
}
tùy chỉnh chức năng My overriden không bao giờ được gọi ...
bất kỳ ý tưởng nào về điều này? hoặc làm thế nào để thực hiện điều này một cách khác nhau?
Có vẻ như ổn. Bạn đang sử dụng phiên bản MVC nào? – LeftyX
Đây là MVC 2, tôi bắt đầu nghĩ rằng có thể một cái gì đó khác là ngăn chặn các bộ lọc từ executions hoặc một cái gì đó như thế, điều này có thể được theo dõi như toàn bộ dòng chảy thực hiện bằng cách nào đó? – aromasca
Tôi đã có chính xác cùng một vấn đề. Ngay cả khi tôi đã thêm bộ lọc trong globalFilterCollection, tôi đã nhận được lỗi rằng tôi nên triển khai IActionFilter. Sau một thời gian tôi phát hiện ra rằng tôi đã sử dụng System.Web. ** Http.Filters **. IActionFilter và System.Web. ** Http.Filters **. ActionFilterAttribute thay vì System.Web chính xác. ** Mvc * * .IActionFilter và System.Web ** Mvc **. ActionFilterAttribute Mayby rằng nó sẽ giúp ai đó. –