Как, где хранить объекты в разных областях в Asp.net 2.0 - PullRequest
0 голосов
/ 21 ноября 2008

нужно попросить вас о помощи.

У меня работает веб-приложение в Net 2.0.
Я хочу спросить, какое хранилище (кеш, сессия, файл) я должен использовать для своих объектов, поскольку они имеют разную область использования. Можно разделить на несколько групп:
1) объекты, связанные непосредственно с посетителем (например, сведения о посетителе, полученные после аутентификации)
2) объекты, которые используются для каждого посетителя, поэтому сфера его применения (некоторые исходные данные, общие данные)

Большинство этих объектов получают данные из веб-службы, что дорого.

Итак, что я могу выбрать, учитывая скорость, память, доступность и то, на что еще стоит обратить внимание.

Любая помощь приветствуется. Спасибо, X.

Ответы [ 3 ]

2 голосов
/ 21 ноября 2008
  1. Объекты, связанные непосредственно с посетителем, должны храниться в Session, хотя чрезмерное использование Session и многие пользователи могут привести к проблемам с масштабируемостью.

  2. Объекты, которые являются общими для каждого посетителя, должны храниться в Cache, поэтому они будут выходить за рамки, если к ним не часто обращаются, чтобы можно было восстановить память (не говоря уже о дополнительном стимуле зависимостей) , В тех случаях, когда вы знаете, что объект должен быть доступен немедленно, независимо от того, сколько времени прошло с момента последнего обращения к нему, вы должны сохранить этот объект в Application.

1 голос
/ 21 ноября 2008

Элемент 1. Сеанс, скорее всего, будет наилучшим, поскольку он предназначен для каждого пользователя, однако обязательно ограничьте количество элементов в нем, поскольку существуют проблемы с масштабированием и рекомендации, если в веб-ферме.

Элемент 2 - В зависимости от того, что вам нужно, это будет элемент кэша или уровень приложения, который вы хотите добавить, в зависимости от необходимости истечения срока действия и т. Д. Ключевым отличием является то, что в кэше есть элементы срока действия и использования, которые могут его удалить, приложение для вещей, которые всегда остаются там.

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

0 голосов
/ 21 ноября 2008

Объекты, относящиеся к посетителю, должны храниться в сеансе. Это уникально для каждого посетителя, но, как правило, часто сбрасывается, это также плохо масштабируется при переходе в среду с несколькими серверами.

Объекты, относящиеся к приложению в целом, должны храниться в кэше ASP.NET.

...