Является ли синглтон в ASP.NET для сеанса или для каждой машины? - PullRequest
0 голосов
/ 09 сентября 2010

У меня есть веб-приложение, написанное на ASP.NET (FW 3.5) (вместе с некоторым VBScript, это устаревшее приложение), которое использует служебный класс в бэкэнде, который регистрирует ошибку.

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

Я думаю, более конкретно, мне интересно, есть ли способ хранения переменных сеанса, которые могут быть общими для веб-приложения и веб-сервисов через класс, на который ссылаются как приложение, так и веб-сервисы. Например, у меня есть класс обработки ошибок, который используется обоими экземплярами, которым требуется информация о пользователе. Есть ли способ создать синглтон для каждой сессии для хранения этой информации, чтобы у моего класса ошибок был доступ к информации о пользователе? или это невозможно - мне нужно будет передавать информацию по мере необходимости?

1 Ответ

1 голос
/ 09 сентября 2010

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

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

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