IISの設定に問題があります。私はプログラムでWebサイトとWebサイトの下にアプリケーション(仮想ディレクトリ)を作成します。他の設定の中で、アプリケーション設定にワイルドカードアプリケーションマップを追加します。 IISが再起動されると、wilcardアプリケーションマップ(および他のいくつかの設定が削除されますが、わかりやすくするためにwilcardマップが示されています)。 IISマネージャを使用してマップを再追加できますが、IISを再起動するとマップが削除されます。しかし、ワイルドカードマップを追加し、IISを再起動せずに最初にブラウザを使用してそのアプリケーションのページをヒットした場合、IISを再起動してもマップは消えません。何が起きているのか?ここ停止時にIISがWebサイトの設定を元に戻す
は私のコードです:
// root virtual dir object
string strRootVirtDirPath = "IIS://localhost/w3svc/" + strWebSiteID + "/root";
DirectoryEntry deRootVirtDir = new DirectoryEntry(strRootVirtDirPath);
// add new virtual dir
DirectoryEntry deNewVirtDir = deRootVirtDir.Children.Add(strAppName, "IIsWebVirtualDir");
deNewVirtDir.Properties["Path"].Value = strPhysicalDir;
deNewVirtDir.Properties["AppFriendlyName"].Value = strAppName;
deNewVirtDir.Properties["AppRoot"].Value = "/LM/W3SVC/" + strWebSiteID + "/Root/" + strAppName;
deNewVirtDir.Properties["AppPoolId"].Value = strAppPoolName;
// create the application
deNewVirtDir.Invoke("AppCreate", 1);
// commit changes
deNewVirtDir.CommitChanges();
deRootVirtDir.CommitChanges();
deNewVirtDir.Close();
deRootVirtDir.Close();
申し訳ありませんが、IIS 6のことを忘れていました。 –
仮想ディレクトリを作成するときに.Invoke( "AppCreate")を正しく呼び出してから、設定を更新した後に.CommitChanges()を呼び出しましたか? – AaronS
関数呼び出しが正しいかどうかを確認する方法がわかりません。コードは正常に実行されますが、例外はありません。ここに私のコード: –