2

今日、奇妙なことに気づきました。私が取り組んでいるプロジェクトには、次のようなコードがあります。

var directoryEntry =new DirectoryEntry(
    ConfigurationManager.AppSettings["path"],
    ConfigurationManager.AppSettings["user"], 
    ConfigurationManager.AppSettings["password"]
);

これはクラスライブラリの一部です。別のプロジェクトからこのライブラリを使用したとき、アプリケーション/サイトの.configファイルでこれらのキーを定義するのを忘れましたが、それでも機能しました。

私の疑惑は、このコンストラクターはPrincipalContextコンストラクターhttp://msdn.microsoft.com/en-us/library/bb298328.aspxと同様に機能し、nullを渡すと現在のユーザーの資格情報を使用するということですが、MSDNのドキュメントではそれについては何も言わないでください。

誰かがこれを確認または拒否できますか?

4

1 に答える 1

0

このコード サンプルは例外をスローしていませんが、必ずしも機能しているとは限りません。コンストラクターは、DirectoryEntry渡された値の認証や検証を行いません。代わりに、サーバーでクエリを作成するために後で使用しようとするこれらの値を格納するだけです。

この特定のコードは空の文字列をスローしたり失敗したりしませんが、サーバーにバインドする原因となる呼び出しは失敗する可能性が非常に高くなります。

于 2012-01-27T15:41:10.450 に答える