Как исправить «операция истекла» при подключении к sharepoint в Office 365 с помощью C # - PullRequest
1 голос
/ 31 октября 2019

Ошибка «Время истекло» при подключении к Office 365 Sharepoint из веб-приложения asp.net

Я попытался найти ответы и внедрить решения, как показано ниже:

Какподключиться к SharePoint в Office 365 с CSOM из C #?

Также некоторые блоги предлагали сделать асинхронный запрос, который не выдает ошибку, но также не дает никаких результатов. Также попытался установить свойство тайм-аута без какой-либо помощи.

Ниже мой код:

    SharePointOnlineCredentials networkCredential = new 
    SharePointOnlineCredentials(SharePointUser, SharePointPassword);
    Context = new ClientContext(SharePointURL);
    Context.Credentials = networkCredential;
    Web = Context.Web;
    Context.Load(Web);
    Context.ExecuteQuery();`

Также, как ни странно, я могу подключаться и получать данные с помощью консольного приложения, но мне нужно получить эторабота в веб-приложении.

Ответы [ 2 ]

1 голос
/ 31 октября 2019

После долгих поисков я понял, что нам нужен прокси-сервер для соединения с Sharepoint Online, и реализовал следующий код для достижения

clientContext.ExecutingWebRequest + = (s, e) => {e.WebRequestExecutor.WebRequest. Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;};

0 голосов
/ 31 октября 2019

Добавьте clientContext.RequestTimeout = -1 в коде, код ниже для вашей справки.

string siteUrl = "https://tenant.sharepoint.com/sites/lz";
string userName = "lz@tenant.onmicrosoft.com";
string password = "xxx";

var securePassword = new SecureString();
foreach (char c in password.ToCharArray()) securePassword.AppendChar(c);
using (ClientContext clientContext = new ClientContext(siteUrl))
{
    clientContext.Credentials = new SharePointOnlineCredentials(userName, securePassword);
    clientContext.RequestTimeout = -1;
    var web = clientContext.Web;
    clientContext.Load(web);
    clientContext.ExecuteQuery();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...