Приложение, развернутое в Azure, имеет следующую архитектуру:
- ASP.NET Web Api (предоставляет конечные точки)
- Приложение идентификации (новая служба приложения, которая служит для аутентификации иавторизация)
- Приложение WCF (новая служба приложений, содержащая бизнес-логику)
- База данных SQL Azure (база данных и хранимые процедуры)
Поток данных: - Веб-API вызывает Идентичность.- Web Api вызывает WCF для получения данных.- WCF получает данные из базы данных и возвращает их обратно в API.
Время ответа для такого сквозного вызова выше, чем обычно, и большая часть времени тратится в WCF, даже если код приложения там оптимизирован максимально и запросы EF к базе данных также выполняются быстро.
Пример.см. таблицу ниже:
Я пробовал разные решения, связанные с настройкой регулирования WCF и поведением службы (maxConcurrentSessions, maxConcurrentCalls и т. д.).
Я думал о создании нового Azure AppService и выяснил, связана ли проблема со службой приложений в самом Azure, но не уверен, стоит ли мне это делать.
Есть ли какие-либо предложения или аналогичныеопыт работы с сервисами wcf плохо в приложениях в Azure?