эффективные способы анонимной персонализации с использованием ASP.NET + Cookie - PullRequest
2 голосов
/ 24 октября 2008

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

Другим очевидным решением является cookie, но, учитывая ограничение cookie , мне было интересно, есть ли у кого-нибудь эффективный способ хранения информации в cookie. Кто-нибудь знает, как Амазонка или Yahoo имеет дело в ближайшее время. персонализация

В конечном счете, мы пытаемся предоставить различный динамический контент для нашей пользовательской базы на основе набора бизнес-правил, изложенных в заранее определенной кампании. Причина в том, чтобы измерить коэффициент конверсии на нашем сайте. Одну и ту же кампанию можно использовать на всех разных страницах сайта. Причина, по которой мне нужно установить cookie-файл, заключается в том, что пользователь может видеть тот же контент, который был ранее обработан, если мы этого хотим. Вот что я сейчас имею в cookie.

 campaign code:page id:result display

И вы можете видеть, что это будет происходить, если кампаний много, и каждая кампания используется на многих страницах.

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 27 октября 2008

Если загрузка базы данных является проблемой, вы можете получить персонализацию, когда пользователь начнет сеанс на веб-сайте, а затем сохранить ее в состоянии сеанса. Таким образом, только первая загрузка страницы вызовет базу данных.

Вы можете сохранить идентификатор пользователя в файле cookie.

Просто не забудьте сохранить сеанс в БД, когда пользователь обновляет свои настройки, и удаление старых записей БД через некоторое время также может быть хорошей идеей, если столько анонимных пользователей посетят ваш сайт.

1 голос
/ 25 марта 2009

Если вы хотите сохранить изменения, такие как представление каждой кампании, на самом деле нет никакого способа получить доступ к записи этих изменений. Членство в ASP.NET неплохо для большого сайта (> 1 млн в день) при правильном использовании. Например, вы должны заключать вызовы поставщика членства в кэшируемый объект и часто обновлять (короткий срок действия). Также не забудьте установить cacheRefreshInterval на RoleProvider. Это заставит asp.net кешировать роли в куки, чтобы сократить активность БД.

Еще один способ взглянуть на это - принять совет Ади и разделить Членство в отдельную БД. Еще раз, еще одна замечательная особенность поставщика членства ASP.NET - вы можете установить другую строку соединения SQL и загрузить ее на другую БД и / или сервер.

В провайдере членства есть несколько других методов, которые действительно могут повысить производительность. Некоторые быстрые поиски в Google позволяют найти их несколько.

0 голосов
/ 27 октября 2008

Я бы создал запись базы данных для посетителя и сохранил бы только идентификатор в куки, таким образом, вы можете просмотреть все персональные данные из базы данных и сохранить размер куки на минимальном уровне.

Если скорость базы данных является проблемой, возможно, используйте разные базу данных и сервер для хранения персонализаций.

В качестве альтернативы вы можете хранить личные данные в файловой системе и загружать их в сеанс, когда посетитель возвращает соответствующий идентификатор cookie.

Если идентификация пользователя и удаление файлов cookie являются проблемой, вы используете «холодное» использование и контроль ActiveX, но для этого требуется установка на клиентский компьютер, на который люди могут возразить.

...