На панели «Источники» отображается аналитика атрибутивных событий на странице «Источники». Если ваше пользовательское событие относится к ссылке на филиал, вы сможете просмотреть эти данные, включив столбец пользовательских событий в правом верхнем углу.
Вы также сможете просматривать поток событий в режиме Liveview, переключаясь на вкладку пользовательских событий. Данные о Liveview не сохраняются и полезны для целей разработки.
Если у вас есть дополнительные вопросы, вы можете написать по адресу Integration@branch.io.
Управление состоянием является критической вещью освоить при прибытии в веб-мир с точки зрения настольного приложения.
Session
используется для хранения в расчете на пользователя информация для текущей веб-сессии на сервер . Это поддерживает использование сервера базы данных как хранилище бэкенда. Cookie
должен использоваться для хранения в расчете на пользователя информация для текущей веб-сессии или персистентный информация о клиент , поэтому клиент управляет содержанием cookie. Cache
объект совместно использован пользователями в единственном приложении . Его основная цель к данным кэша от хранилища данных и не должна использоваться в качестве основной памяти. Это поддерживает автоматическое аннулирование функции. Application
объект совместно используется пользователями для хранения всего приложения состояние и должен использоваться соответственно. , Если Ваше приложение используется многими неаутентифицируемыми пользователями, я предлагаю, чтобы Вы хранили данные в cookie. Если это требует аутентификации, можно или хранить данные в DB вручную или использовать функции управления профилем ASP.NET.
Сеть по своей природе разъединяется модель, и ни одна из упомянутых опций (Сессия, Приложение, Кэш...) не достаточно надежна. Сессия будет тайм-аут, рабочий процесс перерабатывает, и т.д.
, Если действительно необходимо сохранить пользовательский прогресс, надежно и через длительные периоды, база данных является единственным решением. Если Вы сделали, чтобы пользователи представили (если пользователь должен войти в систему), то это просто. В противном случае генерируйте уникальный идентификатор, сохраните его в cookie (или URL) и отследите пользователя на основе той идентификации.
Просто удостоверяются, что идентификатор шифруется и затем base64 закодированная строка и не только числовое значение.
РЕДАКТИРОВАНИЕ:
После Вашего дополнительного объяснения в исходном вопросе и комментарии от Mehrdad Afshari, хорошее решение для Вас состояло бы в том, чтобы использовать Сессию, но установить устройство хранения данных на SQL-сервер вместо InProc.
Вот больше деталей и инструкций, как настроить его: http://msdn.microsoft.com/en-us/library/ms178586.aspx
Имеет в виду это, у Вас ВСЕ ЕЩЕ будут тайм-ауты сессии, но они выживут, пул приложений перерабатывает, даже перезапуски сервера.
, Если Вам действительно нужны постоянное хранение, настраиваемое решение с базой данных, поскольку я первоначально обрисовал в общих чертах, единственное решение.
Вы не должны использовать объект Кэша кэшировать данные сессии, поскольку кэш совместно используется всеми пользователями. Вместо этого Вы могли использовать Asp. Сетевые свойства Profile , чтобы хранить Ваши данные или Вы могли добавить обработчик событий к событию Session_End и хранить данные, если пользователь оставляет компьютер слишком долго.
Сессия хранится на сервере, испытает таймаут по умолчанию через 20 минут (Это является корректируемым). Я сохранил бы это в cookie, или в состоянии отображения (при наличии) для предотвращения тайм-аута.
, Если Вашим состоянием является сохраненный InProc (установка по умолчанию), то наличие больше чем одного сервера в ферме собирается вызвать Вас проблемы также, если Вы не реализовали своего рода "липкую сессию", которая сохранит пользователя на том же сервере в ферме для последующих вызовов.
я стараюсь избегать сессии, когда возможный (создает дополнительную нагрузку и использование памяти на сервере), и сохраняют состояние отображения выключенным, если это возможно, для поддержания размера страницы на низком уровне. Cookie часто являются самой легкой опцией, но Вашим пользователям можно было бы выключить это, и Вам будет нужен режим нейтрализации, который все еще позволяет им использовать сайт.
Редактирование (добавляющее разъяснение на основе ответа от автора вопроса):
Состояние отображения хранится в скрытом поле и является сериализированным представлением всех объектов в устройстве хранения данных Состояния отображения. Состояние отображения автоматически используется для хранения состояния страницы, но можно явно добавить и получить собственные объекты к и от Состояния отображения программно, если Вы принимаете решение.
Так да, наборы данных могут быть сохранены в Состоянии отображения.
Первая вещь необходимо знать! cookie используются сессией ! Сервер знает, кто Ваш пользователь благодаря cookie, которым обмениваются между клиентом и сервером каждый запрос (это работает с cookie набора HTTP-заголовков и cookie).
реальный вопрос:
Затем рассматривают, где Вы хотите сохранить свою сессию:
, Если Ваш сайт должен иметь высокий disponibility и высокую производительность, то Вы не должны хранить сессию в процессе, но в базе данных. Таким образом, Вы сможете совместно использовать работу среди нескольких веб-серверов. Но Вы освободите в простоте (потому что объекты, которые Вы храните на своей сессии, должны быть сериализуемыми), и у Вас есть еще одно распространение в прямом и обратном направлениях между Вашим веб-сервером и Вашим сервером базы данных.