Even voor de mensen die hier later ook problemen mee gaan krijgen (want die gaan jullie krijgen

)
IIS5.1 heeft een bug...ja, een van de vele
Bij het maken van een nieuwe virtual directory heb je deze code nodig:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| public void CreateVirtualDirectory(string PhysicalPath, string VirDirName)
{
System.DirectoryServices.DirectoryEntry oDE;
System.DirectoryServices.DirectoryEntries oDC;
System.DirectoryServices.DirectoryEntry oVirDir;
string sIISPath;
try
{
sIISPath = "IIS://" + _serverName + "/W3SVC/1/" + _BaseVirtualDirectory;
oDE = new DirectoryEntry(sIISPath);
oDC = oDE.Children;
oVirDir = oDC.Add(VirDirName,oDE.SchemaClassName.ToString());
oVirDir.CommitChanges();
oVirDir.Properties["Path"].Value = PhysicalPath;
oVirDir.Properties["AccessRead"][0] = true;
oVirDir.Invoke("AppCreate",true);
oVirDir.Properties["AppFriendlyName"][0] = VirDirName;
oVirDir.CommitChanges();
_VirtualDirectory = "http://" + _serverName + "/" + _BaseVirtualDirectory;
}
catch (Exception exc)
{
throw new Exception(exc.Message);
}
} |
Dit werkt dus NIET op IIS5.1
Om het op te lossen, moet je
newVirDir.CommitChanges(); achter elke property assignment zetten!
Dus dan krijg je dit stukje code:
ASP:
1
2
3
4
| newVirDir.Properties["AccessRead"].Add(true); newVirDir.CommitChanges();
newVirDir.Properties["Path"].Add(realPath); newVirDir.CommitChanges();
// Create a Application
newVirDir.Invoke("AppCreate",true); newVirDir.CommitChanges(); |
Ik hoop dat ik hiermee een hoop P&W'ers mee van dienst kan zijn
[
Voor 55% gewijzigd door
PhoneTech op 24-02-2003 23:07
. Reden: Ok...De code die er eerst stond werkte dus niet helemaal goed, Deze code werkt iig op IIS5.1 :D ]