![](/img/trans.png)
[英]SharePoint ClientContext.ExecuteQuery works in c# application but crashes in DLL
[英]How to check Sharepoint connectivity before ClientContext.ExecuteQuery
我對SharePoint很陌生。 在ClientContext.ExecuteQuery之前檢查Sharepoint站點連接的最快,最有效的方法是什么。
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();
沒有這種標准方法可以做到這一點。 但是您可以像下面的代碼那樣實現
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);
}
}
因為“ ExecuteQuery”是通過Client.svc wcf服務連接到SharePoint的方法。
希望這可以幫助...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.