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

StackOverflow https://stackoverflow.com/questions/292831

Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top