Стратегии для автозаполнения веб-сервисов в .Net. Не ориентированный на пользовательский интерфейс - PullRequest
0 голосов
/ 23 июня 2009

Я немного устал от всех демонстраций пользовательского интерфейса автозаполнения в ASP.Net.Я считаю, что часть автозаполнения пользовательского интерфейса была решена многократно.

Мой вопрос: как вы лучше всего справляетесь с запросами, затрагивающими ваши веб-сервисы?В настоящее время я внедряю сервис автозаполнения для базы данных музыкантов.База данных довольно маленькая, всего 20 000 строк, но автозаполнение чрезвычайно чувствительно к скорости.Это должно быть довольно мгновенно, чтобы быть полезным.

В настоящее время я использую NHibernate для своего DAL, но мне интересно, если это место, где я могу обойти NHibernate.Возможно, прогнозы по именованным запросам будут лучшей стратегией?Где я могу кешировать?2-й уровень NHibernate?Позвольте веб-сервису кешировать?

Я уже придумал множество наивных методов для разработки этого, но я хотел бы воспользоваться любыми советами, которые люди уже имеют в дикой природе.Кроме того, что если у вас есть много разных типов объектов, для которых вы хотите выполнить автозаполнение?Вы распространяете эти реализации по разным репозиториям или разрабатываете / внедряете совершенно отдельный сервис автозаполнения?

1 Ответ

1 голос
/ 23 июня 2009

Это зависит от того, насколько велик трафик ваших сайтов. Как правило, я предлагаю использовать такой продукт, как MemCached или MemCached Win32, в зависимости от доступности вашей среды (MemCached для дешевых коробок Linux, если вы можете лучше ... все, что нужно, это тонна памяти!). Вы также можете посмотреть на что-то вроде Velocity (новое предложение MS для облачного кэша). Тогда это позволит вам эффективно кэшировать ключ (каким бы ни был запрос) с результатами! Сократите время кэширования на основе того, насколько часто вы обновляете свой набор данных. Если вы не обновляете часто, время кеша может быть больше. Если вы обнаружите, что ваше кеш-облако растет как сумасшедший, вы можете захотеть кэшировать только то, что чаще всего запрашивается (хотя ваша реализация кеша должна справиться с этим, удаляя то, к чему не часто обращаются!).

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