Web API - противоречивые результаты - PullRequest
0 голосов
/ 29 октября 2019

У меня есть проект веб-API .NET, который демонстрирует странное поведение, на которое я действительно не могу найти ответ.

Проблема заключается в том, что API возвращает противоречивые результаты от одного вызова кзатем, используя точно такие же параметры. Чтобы проверить это, я создал коллекцию почтальонов и выполнял вызов 25 раз с интервалом 100 мс между каждым вызовом. Для большинства вызовов я получаю ожидаемые результаты:

{
    "Successful": true,
    "Data": [{
        "Version": 1.0,
        "Code": "BC12",
        "FN": "Mick",
        "LN": "Jager",
        "PH": "1111111111",
        "OCC": "Dentist",
        "ACT": "Y",
        "ISA": "Y",
        "DLID": "5874589",
        "CB": null,
        "CO": null
    }],
    "Exception": null,
    "ResponseCode": 200
}

Однако иногда я просто получаю пустой ответ без ошибок:

{
    "Successful": true,
    "Data": [],
    "Exception": null,
    "ResponseCode": 200
}

За прошедший час яЯ выполнил вызов в общей сложности 55 раз, и 8 из них вернулись с пустым ответом (все в производственной среде).

Я сделал то же самое в промежуточной среде, и 0 из 55 пришлообратно с пустым ответом.

Возвращает версию моего пользовательского ответа в формате JSON, поэтому я знаю, что код не содержит ошибок, прежде чем он сможет создать данные. Еще одна странная вещь об этом - это происходит только в производственной среде. Если я выполняю те же 25 вызовов в промежуточную среду, я никогда не вижу пустой ответ, и все 25 вызовов возвращаются с данными. Опять же, каждый вызов имеет одинаковые параметры. Кто-нибудь видел что-то подобное? Это определенно должно быть связано с IIS или SQL-сервером, поскольку это не происходит на промежуточной стороне, и единственное различие между двумя средами - это IIS-сервер и SQL-сервер. Кроме того, трафик на сервер сейчас очень минимален, поэтому я не думаю, что объем трафика на сервер является проблемой.

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