2009-06-17 16 views
1

現在静的に設定されているメソッドを公開するWebサービス(WCF)があります。静的でない静的Webサービス

厳密にメモリ/ GCの観点からは、CLRとGCが静的オブジェクトと非静的オブジェクトをどのように扱うのかが異なります。

答えて

1

スタティックデータは、含まれているAppDomainがシャットダウンされるまでガベージコレクションされません。これは通常、何らかの特別なAppDomain管理をしていない限り、メモリがアプリケーションがシャットダウンされるまで割り当てられたままであることを意味します。静的でないオブジェクトはガベージコレクタによって、通常のルールによって収集されます。これ以上の参照はありません。

+0

クールなもの。一度に何週間も実行する予定のアプリケーションでは、過剰なメモリ割り当ての問題(400MB以上)が発生しています。私たちが何か間違ったことを見つけられなかったとき、私たちはそれが静的なオブジェクトを使って私たちに関係していると思った。私たちは、明日から非静的に開始するように記録を開始します。ご協力いただきありがとうございます! – Phillip

+1

400MBはあまり大きくありません。 –

+0

John-私は400MBがシステム全体をダウンさせるときには同意しません。非静的コードを修正した後、アプリケーションは18MBにピークを迎えることができました。これは合理的です。再度ありがとうブルース! – Phillip

関連する問題