サービスのメモリ使用量を確認していますが、プライベートバイトが時間とともに増加していることがわかりました。サービスは必要な新しいコンポーネントを作成し、サービスが停止したときにのみ廃棄されます。そこで、サービスコールがあるときに新しいコンポーネントを作成するコードを探し、不要なときにそれらを破棄しようとしています。PerfMonを使用してプライベートバイトをチェックしています。
それで、私は今まで正しい軌道に乗っていますか?
さらに、メソッドの1つが毎回新しい構造体を作成し、それが破棄されたりnullに割り当てられたりしないことを発見しました。
var structInfo = new MyStruct();
structInfo .StructSize = Marshal.SizeOf(structInfo);
MyClass info = this.BuildStructInfo(structInfo);
return info;
編集:
このメソッドは、構造体から値を取得するクラスを返します。
廃棄する必要がありstructInfo
ますか?何もしなければGCで収集されますか?