2016-08-22 2 views
0

나는 셰어 포인트에 대해 매우 익숙하다. ClientContext.ExecuteQuery가 수행되기 전에 Sharepoint 사이트 연결을 검사하는 가장 빠르고 효율적인 방법은 무엇입니까?ClientContext.ExecuteQuery 전에 셰어 포인트 연결을 확인하는 방법

ClientContext ctx = new ClientContext(ConfigurationManager.AppSettings["sharepoint siteUrl"]); 

float pageLoadTime = getPageLoadTime(ctx); 
if(pageLoadTime > 0.5) 
{ 
    MessageBox.Show("Sharepoint site is not available!"); 
    return; 
} 
//do very heavy query 
.... 
ctx.ExecuteQuery(); 

답변

0

그런 표준 방법은 없습니다. 하지만 "하는 executeQuery는"Client.svc의 WCF 서비스를 통해 SharePoint에 연결할 방법이기 때문에 코드를

using (ClientContext sourceContext = new ClientContext("Sharepoint Url")) 
     { 
      try 
      {      
       sourceContext.ExecuteQuery(); 
       List list = sourceContext.Web.Lists.GetByTitle("Test"); 
       ListItemCollection itemColl = list.GetItems(CamlQuery.CreateAllItemsQuery()); 
       sourceContext.Load(itemColl); 
       sourceContext.ExecuteQuery(); 
      }     
      catch (System.Net.WebException ex) 
      { 
       if (ex.Message == "The remote server returned an error: (404) Not Found.") 
       { 
        Console.WriteLine("SharePoint not available"); 
       } 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine(ex.Message); 
      }    
     } 

을 다음과 같이이 작업을 수행 할 수 있습니다.

희망이 있습니다.

+0

안녕하세요, Ahshay, 답변 해 주셔서 감사합니다. 어쩌면 작업을 수행하기 전에 "Ping"을 사용하여 연결을 확인해야합니다. –