2013-09-23 5 views
0

Я использую WebApi для отдыха. Мне нужно, чтобы каждый запрос попадал в входящий фильтр/действие (чтобы оценить запрос) и ударил исходящий фильтр/действие (чтобы выставить результат). Около месяца назад я наткнулся на этот термин, но я не могу его вспомнить. Что-то вроде «PostAction» или «PostFilter». Может ли кто-нибудь указать мне в правильном направлении?Webapi Входящие и исходящие действия

+0

Возможно, вы имеете в виду 'RegisterGlobalFilters'? – christiandev

+0

В этом случае посмотрим. – BCarlson

+0

Все еще смотря на RegisterGlobalFilters, но мне нужно выполнить код до того, как контроллер выполнит, и после выполнения контроллера. Я не вижу, как RegGlobalFilters можно запускать до и после контроллера. Все еще смотрю. – BCarlson

ответ

1

Если вы взгляните на эту ссылку Filtering in ASP.NET MVC, у них есть пример применения настраиваемого фильтра attribute к контроллеру, который применяется ко всем методам Action.

Вот пример кода из ссылки ...

[HandleError] 
public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     ViewData["Message"] = "Welcome to ASP.NET MVC!"; 

     return View(); 
    } 

    public ActionResult About() 
    { 
     return View(); 
    } 
} 

Вы можете увидеть пользовательский фильтр добавлен к контроллеру.

В вашем сценарии IActionFilter могут быть использованы, которая имеет два OnActionExecuted & OnActionExecuting.

Обратитесь к How to add global ASP.Net Web Api Filters? за помощью в WebAPI.

+0

Я не думаю, что это сработает. Чтобы контроллер работал в WebApi, я должен получить ApiController. Когда я получаю от Controller, WebApi ломается. Когда я переключу его обратно на ApiController, WebApi начнет работать. По крайней мере, на основе моего прототипа. – BCarlson

+0

@BCarlson, обновлено новой ссылкой. – christiandev

+0

хорошо, позвольте мне попробовать. Кажется, я понимаю водопровод. – BCarlson

Смежные вопросы