Когда удаляются статические объекты на сервере WCF? - PullRequest
0 голосов
/ 24 июля 2011

Вот мой сценарий: у меня есть статический объект, который подключится к параллельной службе лицензий для получения лицензии.Мне понадобится эта лицензия для некоторых нестатических методов в моей службе WCF.

Проблема в том, что я знаю, что этот статический объект останется вокруг, и лицензия будет храниться до тех пор, пока этот объект используется.Но мне также нужно освободить эту лицензию перед удалением статического объекта, вызвав метод release для службы одновременных лицензий.

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

Сейчасприходит вопрос.Есть ли событие на стороне сервера WCF, чтобы сообщить мне, что IIS или что-то еще собирается утилизировать или переработать статические объекты, чтобы я мог освободить лицензию в службе одновременных лицензий до ее утилизации или переработки ???

И что я должен иметь в виду при работе с этим статическим объектом;я должен использовать Lock() или Using() ??

Другими словами, есть ли способ сделать статический деструктор для этого случая?Этот деструктор, скорее всего, должен вызываться IIS.

1 Ответ

0 голосов
/ 24 июля 2011

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

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