Переменная общего доступа веб-службы на весь срок службы веб-службы? - PullRequest
4 голосов
/ 15 ноября 2008

Как сделать переменную (объект) доступной на весь срок службы веб-службы?

Статическая переменная, кажется, работает, но есть ли другой способ сделать это?

Ответы [ 3 ]

12 голосов
/ 15 ноября 2008

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

В рамках веб-службы у вас также есть доступ к HttpApplicationState через свойство Application (это будет служба asmx ... не уверен, что WCF такой же или нет), поэтому также может быть хорошим выбором для того, чтобы спрятать что-то необходимое для жизни службы.

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

Синглтон, использующий HttpApplicationState, должен обрабатывать удовольствие

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

возможно, но если статическая переменная работает, тогда переходите к следующей проблеме! :)

...