Когда звонить в веб-сервис
Веб-сервис следует вызывать только тогда, когда пользователь заинтересован в предложениях . Пользователь будет быстро печатать, только если знает, что печатать. Поэтому, пока он печатает быстро, вам не нужно давать подсказки пользователю.
Когда быстрая машинистка на короткое время делает паузу, он, вероятно, интересуется поисковыми предложениями. Вот когда вы вызываете веб-сервис для получения предложений.
Медленные машинистки всегда получат пользу от поисковых подсказок, потому что это может сэкономить им время, набирая в запросе. В этом случае у вас всегда будут короткие паузы между нажатиями клавиш. Опять же, эти короткие паузы - ваша очередь для получения предложений от веб-службы.
Вы можете использовать функцию setTimeout
для вызова веб-службы через 500 миллисекунд после того, как пользователь нажал клавишу. Если пользователь нажимает клавишу, вы можете сбросить время ожидания, используя clearTimeout
. Это приведет к вызову веб-службы только тогда, когда пользователь простаивает полсекунды.
Производительность LINQ-to-SQL
Если ваш запрос не слишком сложен, LINQ-to-SQL, вероятно, будет работать очень хорошо.
Чтобы повысить производительность, вы можете ограничить количество предложений до двадцати. Большинству пользователей все равно не нужны тысячи предложений.