我正在使用它在现有的SharePoint位置创建一个文件夹。有没有办法检查在创建之前是否存在文件夹,而不是使用Try/Catch从此方法中弄清楚,然后假设存在该文件夹?我已经检查了WebRequest方法,但是没有这样的检查。
try
{
HttpWebRequest request = (System.Net.HttpWebRequest)HttpWebRequest.Create("https://site.sharepoint.com/files/"+foldername);
request.Credentials = CredentialCache.DefaultCredentials;
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
request.Method = "MKCOL";
HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
response.Close();
}
catch (Exception ex)
{
//if this piece fails the folder exists already
}
public void CheckWebFoldersExist()
{
try
{
WebClient client = new WebClient();
client.Credentials = CredentialCache.DefaultCredentials;
// Create a request for the URL.
WebRequest request = WebRequest.Create("myAddress");
// If required by the server, set the credentials.
request.Credentials = CredentialCache.DefaultCredentials;
// Get the response.
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//check response status
if (string.Compare(response.StatusDescription, "OK", true) == 0)
{
//URL exists so that means folder exists
}
else
{
//URL does not exist so that means folder does not exist
}
}
catch (Exception error)
{
//error catching
}
}
您可以使用spweb.getfolder方法
private bool CheckFolderExists(SPWeb parentWeb, string folderName) {
SPFolder folder = parentWeb.GetFolder(folderName);
return folder.Exists;
}
参考:http://mundeep.wordpress.com/2009/02/24/checking-if-a-spfolder-exists/