Web API - Обработка длительного вызова при объединении вызовов - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть проект веб-API, который работает как GateWay для других мобильных клиентов.Когда мобильный клиент выполняет вызов к этому шлюзу, он внутренне вызывает существующие службы, размещенные в другом проекте, и объединяет результаты и возвращает их клиенту.Недавно я столкнулся с ситуацией, когда мой шлюз внутренне совершает 3 вызова, первые 2 быстро возвращают данные, но третий вызов отнимает много времени, и я хочу знать, как лучше всего справиться с этим сценарием.

1 Ответ

0 голосов
/ 23 сентября 2018

Убедитесь, что возвращаемый тип методов действия API - async Task<YourModelDataType>.Например, допустим, у вас есть контроллер HomeController следующим образом:

public class HomeController : ApiController { public async Task<YourModelDataType> Index() { return new YourModelDataType() { Property1 = await ApiService1.GetData(), Property2 = await ApiService2.GetData(), Property3 = await ApiService3.GetData(), }; } } Убедитесь, что ожидаются вызовы в другие проекты API.Это улучшает масштабируемость на стороне сервера.т.е. ресурсы сервера могут свободно обслуживать другие запросы, ожидая ответа от других сервисов API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...