ADSIで利用方法によってはリークするケースがある

ADSIで利用方法によってはリークするケースがあるとのことです。

[ADSI] 障害情報 : WinNT プロバイダを用いて ADsOpenObject() をコールするとメモリリーク発生
http://blogs.technet.com/jpilmblg/archive/2010/05/14/adsi-winnt-adsopenobject.aspx

この問題ですがADSIだけに限らず.NET Framework の System.DirectoryServicesを用いるアプリケーションも内部的にはADSIを利用しているので同様の影響を受けます。

参考までにSystem.DirectoryServicesがどんな構造になっているかの情報を@uikouさんからもらいましたので併せて記載しておきます。

System.DirectoryServices 名前空間
http://msdn.microsoft.com/ja-jp/library/system.directoryservices(VS.80).aspx

.NET Framework のディレクトリ サービス
http://msdn.microsoft.com/ja-jp/library/ms180826.aspx

S.DS名前空間はActive Directoryに対する操作を行うのに良く使いますので、よく利用されていると思います。

通常のアプリケーションであればそこまでシビアではないのかも知れませんが、24×365なWeb/サービスアプリや一度に扱うオブジェクト数が多いユーザーメンテ系のアプリは要注意ですね。

情報を提供して頂いた@uikouさんに感謝感謝~

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中