Вызываю метод login, получаю bearer token. Вызываю Метод 1, ответ от сервиса приходит. Жду одну минуту. Снова вызываю Метод 1, ответа нет. Если вызывать Метод 1 раз в 30 секунд, то можно сделать много успешных вызовов.
Есть Метод 2. Если сделать минутную паузу между его вызовами, то на оба вызова прийдут ответы от сервиса.
Здравствуйте, nekoriu, Вы писали:
N>Почему нет ответа на второй вызов Метода 1?
Может, сервер ресурсы экономит, потому и отвечает редко, чтобы всякие непонятные типы его по пустякам не беспокоили.
Хотя джентльмены вроде отвечают 409 в этом случае, а не молчат.
Здравствуйте, nekoriu, Вы писали:
N>Добрый день.
N>Разрабатываю web-сервис, C#, ASP.NET, .NET Core 3.1. Использую Postman.
N>Вызываю метод login, получаю bearer token. Вызываю Метод 1, ответ от сервиса приходит. Жду одну минуту. Снова вызываю Метод 1, ответа нет.
Здравствуйте, nekoriu, Вы писали:
N>Добрый день.
N>Разрабатываю web-сервис, C#, ASP.NET, .NET Core 3.1. Использую Postman.
кстати, да. код постмэн что-нибудь сообщает?
или второй запрос вообще без ответа у вас? т.е. просто висит соединение или разрывается?
Здравствуйте, nekoriu, Вы писали:
N>Добрый день.
N>Разрабатываю web-сервис, C#, ASP.NET, .NET Core 3.1. Использую Postman.
N>Вызываю метод login, получаю bearer token. Вызываю Метод 1, ответ от сервиса приходит. Жду одну минуту. Снова вызываю Метод 1, ответа нет. Если вызывать Метод 1 раз в 30 секунд, то можно сделать много успешных вызовов.
N>Есть Метод 2. Если сделать минутную паузу между его вызовами, то на оба вызова прийдут ответы от сервиса.
N>Почему нет ответа на второй вызов Метода 1?
vaa>кстати, да. код постмэн что-нибудь сообщает? vaa>или второй запрос вообще без ответа у вас? т.е. просто висит соединение или разрывается?
После второго вызова Метода 1 нет кода, проходит таймаут 10 с.
vaa>или второй запрос вообще без ответа у вас? т.е. просто висит соединение или разрывается?
Путь к сервису лежит через Apache. Провел небольшой эксперимент. Сервис был выключен. Беру свой Метод 1 и вызываю. Ответа не приходит, таймаут в Postman. Убираю тело из запроса, вызываю Метод1, получаю ответ с кодом 503. В начальной версии запроса с Методом 1 меняю метод с GET на POST, отправляю запрос и снова получаю 503. Получается Apache отвечает на запросы определенных форматов.
Здравствуйте, nekoriu, Вы писали:
vaa>>или второй запрос вообще без ответа у вас? т.е. просто висит соединение или разрывается?
N>Путь к сервису лежит через Apache. Провел небольшой эксперимент. Сервис был выключен. Беру свой Метод 1 и вызываю. Ответа не приходит, таймаут в Postman. Убираю тело из запроса, вызываю Метод1, получаю ответ с кодом 503. В начальной версии запроса с Методом 1 меняю метод с GET на POST, отправляю запрос и снова получаю 503. Получается Apache отвечает на запросы определенных форматов.
у вас там в методе логирование. поставьте логирование в самое начало метода. если не приходит. значит по дороге потерялся.
если проходит, значит где-то в коде либо лок(может на базе) либо просто длительное выполнение.
10 сек это мало, установите бесконечное время ожидания ответа сервера. в апаче проверьте какое-нибудь хитрое кэширование может быть.
Здравствуйте, Sharov, Вы писали:
S>Прощу прощения за оффтоп и придирку: зачем смешивать DAL (repo) и Http слой? Сильно лишняя связанность.
Всё засунуто в метод контроллера и методы репозитория (которые не нужны, если там EF) возвращают коды и булеаны. Тут одними лишь придирками вряд ли можно обойтись.
Здравствуйте, MaxRos, Вы писали:
S>>Прощу прощения за оффтоп и придирку: зачем смешивать DAL (repo) и Http слой? Сильно лишняя связанность. MR>Всё засунуто в метод контроллера и методы репозитория
Ну а где еще, если не по DDD? Т.е в контроллере и должна быть эта логика, связывающая сервисный\сетевой
уровень с уровнем данных.
MR>(которые не нужны, если там EF) возвращают коды и булеаны. Тут одними лишь придирками вряд ли можно обойтись.
Здравствуйте, Sharov, Вы писали:
S>Ну а где еще, если не по DDD? Т.е в контроллере и должна быть эта логика, связывающая сервисный\сетевой S>уровень с уровнем данных.
А где тут сервисный уровень. В идеале в методе контроллера должен быть один вызов и возврат результата. Это же обвязка, отвечающая за http api. Плюс всякие сквозные штуки типа логирования и обработки ошибок захламляют код. А передача HttpContext внутрь репозитория это вообще за гранью.
Здравствуйте, MaxRos, Вы писали:
S>>Ну а где еще, если не по DDD? Т.е в контроллере и должна быть эта логика, связывающая сервисный\сетевой S>>уровень с уровнем данных. MR>А где тут сервисный уровень. В идеале в методе контроллера должен быть один вызов и возврат результата.
Сервисным в данном случае я назвал сетевой уровень, т.е. уровень отвечающих за взаимодействие с http,
ну или обработка соотв. rest api. Ну т.е. взять что-то из сети и передать в dal -- самое то для
контроллера.
Здравствуйте, nekoriu, Вы писали:
N>Добрый день.
N>Разрабатываю web-сервис, C#, ASP.NET, .NET Core 3.1. Использую Postman.
N>Вызываю метод login, получаю bearer token. Вызываю Метод 1, ответ от сервиса приходит. Жду одну минуту. Снова вызываю Метод 1, ответа нет. Если вызывать Метод 1 раз в 30 секунд, то можно сделать много успешных вызовов.
N>Есть Метод 2. Если сделать минутную паузу между его вызовами, то на оба вызова прийдут ответы от сервиса.
N>Почему нет ответа на второй вызов Метода 1?