IIS 7.0 で奇妙な問題に直面しています。
IIS の仮想ディレクトリで Windows 認証モードのみが有効になっている
この方法で TestV/Folder/file.aspx に関連付けられた DirectoryEntry を取得しようとすると、次のようになります。
string vDir = @"/TestV/folder/file.aspx";
DirectoryEntry dir = new DirectoryEntry("IIS://" + serverName + "/W3SVC/1/ROOT" + vDir, @"adminusername", @"password");
dir.AuthenticationType = AuthenticationTypes.Secure;
try
{
Console.WriteLine(dir.Name);
}
catch (Exception exp)
{
Console.WriteLine(exp.Message);
}
Console.WriteLine("");
「指定されたパスが見つかりません」という例外が発生します。
IIS に戻って次の手順を実行すると、TestV/Folderを右クリックして匿名認証モードを有効にし、再度無効にします。
TestV/Folder/file.aspxを右クリックし、匿名認証モードを有効にしてから、再度無効にします。
基本的に、aspx ファイル Testv/Folder/file.aspx に手動でアクセスしました。
上記の手順の後、プログラムを再実行すると、コードはディレクトリ エントリに正常にアクセスでき、名前 (file.aspx) を正常に出力できます。
ここで何が問題なのですか?
もう1つの情報:
IIS 6.0 でもこの動作が見られます。したがって、IIS で仮想ディレクトリ内のフォルダ/ファイルに対して手動操作を行わない限り、Active Directory 内に対応するメタデータが作成されないように見えますか?