Синглтон - Как они работают с ASP.NET? - PullRequest
1 голос
/ 17 марта 2011

Когда я создаю синглтон в своем приложении ASP.NET, что это за «область»? Возможно ли использование одного и того же экземпляра в памяти более чем одним запросом с разных IP-адресов?

т.е. Джон помещает информацию в синглтон через форму, а затем приходит Сьюзи и помещает информацию в синглтон. Возможно ли, что Джон и Сьюзи хранят информацию в одном и том же экземпляре?

Ответы [ 2 ]

2 голосов
/ 17 марта 2011

Предполагая, что вы создаете стереотипный синглтон (реализацию, которую вы увидите в среде, ориентированной на состояние), это означает, что ваш синглтон будет доступен для всего приложения и для ВСЕХ пользователей.

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

1 голос
/ 17 марта 2011

Да.Статические переменные в ASP.net являются общими для всего приложения для всех пользователей.Также будьте осторожны со статическими конструкторами, поскольку они также запускаются ровно один раз.

У Microsoft есть статья в КБ, Устранение неполадок в приложениях ASP.NET с использованием статических ключевых слов (893666)

Если вам нужны «статические переменные для каждого пользователя», вам может понадобиться Session или HttpContext.Items.

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