これが私のシナリオです。ライセンスを取得するために同時ライセンスサービスに接続する静的オブジェクトがあります。WCFサービスの非静的メソッドのいくつかでこのライセンスが必要になります。
ここでの問題は、この静的オブジェクトが残り、このオブジェクトが使用されている限りライセンスが保持されることを知っています。ただし、コンカレントライセンスサービスへのリリースメソッドを呼び出して静的オブジェクトを破棄する前に、このライセンスをリリースする必要もあります。
静的オブジェクトに保持されているライセンスを解放しないと、同時ライセンスサービスは、制御できないアイドル時間の後にライセンスの再発行を拒否します...
さて、質問が来ます。WCFサーバー側にイベントがあり、IISまたは静的オブジェクトを破棄またはリサイクルしようとしていることを通知して、破棄またはリサイクルする前に同時ライセンスサービスでライセンスを解放できるようにしますか?
そして、この静的オブジェクトを扱うときに私が心に留めておくべきことは何ですか。私は使用する必要がありますLock()
かUsing()
?
言い換えれば、この場合の静的デストラクタを作成する方法はありますか?このデストラクタは、IISによって呼び出される可能性があります。