Ich mache gerade einen Test, bei dem ich versuche, eine Websitesammlung programmgesteuert zu löschen. Dadurch habe ich ein seltsames Verhalten von SharePoint festgestellt.Issus Löschen einer Websitesammlung
Ich habe den folgenden Code verwendet, um die Löschung der Websitesammlung zu testen.
private static void DeleteSiteCollection(string urlSiteToDelete)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPWebApplication webApp = SPWebApplication.Lookup(new Uri("http://wssdev06"));
webApp.Sites.Delete(urlSiteToDelete);
webApp.Update();
});
}
Wenn ich also die Methode mit der URL einer vorhandenen Websitesammlung aufrufen, wird die Websitesammlung wie erwartet gelöscht. Aber wenn ich die Methode mit null aufrufen, die leere Zeichenfolge oder eine URL, die nicht mit einer Websitesammlung verbunden ist, dann löscht SharePoint die Websitesammlung, die sich unter root befindet (z. B. http://wssdev06/).
Ich bin mir nicht sicher, ob ich zu Dump bin, um diese SPSiteCollection.Delete() -Methode zu verwenden, oder wenn ich das conecpt von Websitesammlungen und verwalteten Pfaden nicht verstanden habe, aber ich halte das für ein merkwürdiges und alarmierendes Verhalten.
Ich könnte dieses Verhalten auf andere Webanwendung neu erstellen, hatte aber keine Option, in einer anderen SharePoint-Umgebung noch zu testen.
Also mache ich etwas falsch oder ist das ein Fehler?
UPDATE:
Also habe ich noch ein paar Untersuchungen und erkannte, dass dies etwas mit dem Indexer der SPSiteCollection Klasse zu tun haben müssen, die die Stammwebsitesammlung zurück, wenn es keine Websitesammlung ist unter der gegebenen Lage url. Sieht nach einem Fehler aus.
Ja, das wäre meine Aufgabe, zuerst nach dem SPSite-Objekt zu suchen. – Flo