1

これを使用して、既存の共有ポイントの場所にフォルダーを作成しています。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 
} 
4

2 に答える 2

2
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
   }

}
于 2012-11-07T13:07:31.517 に答える
2

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/

于 2012-11-05T13:14:56.923 に答える