Как вызвать метод контроллера, когда возникает условие - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу вызвать метод контроллера, в случае, если возникает определенное условие.

Можете ли вы дать мне пример, как его реализовать?

Я думаю, он может быть перехвачен фильтрами webapi ..

Спасибо.

1 Ответ

0 голосов
/ 08 января 2019

Я предполагаю, что вы говорите о вызове метода из контроллера / API из другого метода / контроллера.Это на самом деле довольно легко.

Во-первых, в вашем классе запуска вам нужно найти метод ConfigureServices и добавить:

services.AddMvc().AddControllersAsServices();

Затем, в любом контроллере, который вам нужен, просто создайте новый экземпляр этого контроллераи вы можете вызвать эти методы.Предположим, у вас есть api1 и вы хотите вызвать метод из api2.Я бы создал API через внедрение зависимостей:

public class api1
{
    public _api2 {get;set;}

    public api1()
    {
        _api2 = new api2();
    }
}

И теперь вы можете вызывать ваши методы так, как вам нужно из api2:

public IActionResult SomeCondition()
{
    if(!someCondition)
    {
        return _api2.YourMethod1();
    }
    else
    {
         return _api2.YourMethod2();
    }
}
...