Посмотрите на код ниже.ASP.NET MVC: вызов одного действия контроллера из другого, с применением ActionFilters
Когда Get()
называет Foobar()
и Foobaz()
, в ActionFilter
s, украшающие Foobar()
и Foobaz()
не вызываются.
Как я могу назвать эти два других действия контроллера в пределах Get()
таким образом, который также вызывает выполнение фильтров и AnotherAction
?
public class Features : Controller
{
[SomeAction]
public bool Foobar(string id = null)
{
return true;
}
[AnotherAction]
public bool Foobaz()
{
return false;
}
public JsonResult Get()
{
return this.JsonResult(new Dictionary<string, bool>()
{
{ "foobar", this.Foobar() },
{ "foobaz", this.Foobaz() }
});
}
}
К сожалению, весь этот код построен неправильно, и у меня нет возможности исправить и сделать все правильно. Я как-то должен делать то, что показано, даже если это означает, что 'Get()' должен программно генерировать два HTTP-запроса, каждый из которых разворачивает отдельные инстанции. :( – core
Если вы абсолютно застряли в этом, я бы предложил обработать его как действие API и вытащить данные с помощью HttpClient или аналогичного. –