Ich habe eine Methode, die ein virtuelles Verzeichnis erstellt. Wie kann ich das .NET Framework auf Version 2 festlegen, während ich das virtuelle Verzeichnis erstelle?Wie kann ich die Version von .NET Framework festlegen, die beim Erstellen eines IIS-Verzeichnisses verwendet wird?
Meine Methode sieht wie folgt aus so weit:
private static void CreateVDir(string metabasePath, string vDirName, string physicalPath)
{
// metabasePath is of the form "IIS://<servername>/<service>/<siteID>/Root[/<vdir>]"
// for example "IIS://localhost/W3SVC/1/Root".
// vDirName is of the form "<name>", for example, "MyNewVDir".
// physicalPath is of the form "<drive>:\<path>", for example, "C:\Inetpub\Wwwroot".
Console.WriteLine("\nCreating virtual directory {0}/{1}, mapping the Root application to {2}:",
metabasePath, vDirName, physicalPath);
DirectoryEntry site = new DirectoryEntry(metabasePath);
string className = site.SchemaClassName;
if ((className.EndsWith("Server")) || (className.EndsWith("VirtualDir")))
{
DirectoryEntries vdirs = site.Children;
DirectoryEntry newVDir = vdirs.Add(vDirName, (className.Replace("Service", "VirtualDir")));
newVDir.Properties["Path"][0] = physicalPath;
newVDir.Properties["AccessScript"][0] = true;
// These properties are necessary for an application to be created.
newVDir.Properties["AppFriendlyName"][0] = vDirName;
newVDir.Properties["AppIsolated"][0] = "1";
newVDir.Properties["AppRoot"][0] =
"/LM" +
metabasePath.Substring(metabasePath.IndexOf("/", ("IIS://".Length)));
newVDir.CommitChanges();
Console.WriteLine(" Done.");
}
else
Console.WriteLine(
" Failed. A virtual directory can only be created in a site or virtual directory node.");
}
Ich wollte in Code die gleiche Sache tun, die Sie in der IIS-GUI tun können, wenn Sie die Eigenschaften des virtuellen Verzeichnisses öffnen, die ASP.NET-Seite aufrufen und die ASP.NET-Version aus dem Dropdown auswählen. Tut es das Gleiche? Weil ich möglicherweise muss es für verschiedene Arten von Dateien, z. * .svc – Grzenio
Wenn Sie die Version im ASP.Net-Dialogfeld auswählen, werden die Skriptzuordnungen festgelegt und ein IIS-Reset durchgeführt. Das Ändern der ScriptMaps nach Code macht dasselbe. –