Вот мой сценарий: у меня есть статический объект, который подключится к параллельной службе лицензий для получения лицензии.Мне понадобится эта лицензия для некоторых нестатических методов в моей службе WCF.
Проблема в том, что я знаю, что этот статический объект останется вокруг, и лицензия будет храниться до тех пор, пока этот объект используется.Но мне также нужно освободить эту лицензию перед удалением статического объекта, вызвав метод release для службы одновременных лицензий.
Если я не освобождаю лицензию, хранящуюся в статическом объекте, служба одновременных лицензий откажется повторно выдавать лицензию через некоторое время простоя, которым я не могу управлять ...
Сейчасприходит вопрос.Есть ли событие на стороне сервера WCF, чтобы сообщить мне, что IIS или что-то еще собирается утилизировать или переработать статические объекты, чтобы я мог освободить лицензию в службе одновременных лицензий до ее утилизации или переработки ???
И что я должен иметь в виду при работе с этим статическим объектом;я должен использовать Lock()
или Using()
??
Другими словами, есть ли способ сделать статический деструктор для этого случая?Этот деструктор, скорее всего, должен вызываться IIS.