Переменная общего доступа веб-службы на весь срок службы веб-службы?
-
08-07-2019 - |
Вопрос
Как сделать переменную (объект) доступной на весь срок службы веб-службы?
Статическая переменная, кажется, работает, но есть ли другой способ сделать это?
Решение
Статические переменные существуют в течение всего времени существования домена приложения, в котором они находятся. В случае веб-службы это обычно рабочий процесс ASP.Net. Это означает, что когда IIS решает циклически обработать рабочий процесс, ваша статическая переменная исчезнет. Это может быть то, что вы хотите, и в этом случае это, вероятно, хороший выбор. (Помогите обсудить, являются ли статические переменные правильными в данном контексте).
В рамках веб-службы у вас также есть доступ к HttpApplicationState через свойство Application (это будет служба asmx ... не уверен, что WCF будет таким же или нет), так что это также может быть хорошим выбором для сохранения чего-то необходимого в течение срока службы службы. р>
Другие советы
Синглтон, использующий HttpApplicationState, должен работать с лечением
Возможно, но если статическая переменная работает, переходите к следующей проблеме! :) Р>