У меня есть простой способ действия, подобный этому:
public class TestApiController : ApiController
{
[Route("api/string"), HttpGet]
public string GetString(int length)
{
return new string('x', length);
}
}
Время отклика (как заметил Фиддлер):
GET /api/string?length=1186
0.008
0.007
0.007
...
GET /api/string?length=1187
0.208
0.212
0.205
...
То есть, добавив в ответ один байт, время обработки увеличилось на 40 ×.
Это абсолютно согласованное поведение, и я наблюдаю его как на веб-сервере Visual Studio, так и в IIS 8.5 (однако порог конкретного ответа немного отличается).
Почему бы так поступить так?
EDIT. В моем случае антивирусом ESET NOD32, проверяющим протокол HTTP, был виновник.