我目前正在做一些测试,我尝试以编程方式删除网站集。从而我意识到SharePoint的一些奇怪行为。Issus删除网站集
我用下面的代码来测试网站集删除。
private static void DeleteSiteCollection(string urlSiteToDelete)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPWebApplication webApp = SPWebApplication.Lookup(new Uri("http://wssdev06"));
webApp.Sites.Delete(urlSiteToDelete);
webApp.Update();
});
}
因此,当我调用具有现有网站集的网址的方法时,该网站集将按预期方式被删除。但是,当我使用null调用方法时,空字符串或未连接到网站集的url时,SharePoint会删除驻留在根下的网站集(例如http://wssdev06/)。
我不确定我是否过于倾销以使用此SPSiteCollection.Delete()方法,或者如果我不了解网站集和管理路径的conecpt,但我认为这是一个非常奇怪和令人担忧的行为。
我可以在不同的Web应用程序上重新编写这个行为,但没有选择在另一个SharePoint环境中测试。
所以我做错了什么或这是一个错误?
UPDATE:
所以我做了一些更多的调查,并意识到这一定有什么做的SPSiteCollection类返回根网站集的索引,如果没有网站集位于在给定的网址。看起来像一个错误。
是的,这将是我的工作,首先检查SPSite对象。 – Flo 2009-05-20 15:18:43