Как проверить, существует ли URL-адрес SharePoint?C#

Место общения программистов C#
Ответить
Anonymous
 Как проверить, существует ли URL-адрес SharePoint?

Сообщение Anonymous »

Предположим, у нас есть следующий рабочий URL-адрес SharePoint:

Код: Выделить всё

https://mywebsite.sharepoint.com/_layouts/15/Test.aspx
Следующий код позволяет определить, работает ли URL-адрес, если пользователь не прошел аутентификацию с помощью токена доступа Azure AD.

Код: Выделить всё

var request = NetHelper.CreateWebRequest(url,
allowAutoRedirect: true,
method: WebRequestMethods.Http.Head);
......
// Authentication
......
bool exists = false;
using (var response = request.GetResponseWithRetry())
{
if (response != null)
{
exists = response.StatusCode == HttpStatusCode.OK;
}
}
Этот метод работает, когда у нас есть CookieContainer (аутентификация по имени пользователя и паролю) для аутентификации. Однако согласно https://sharepoint.stackexchange.com/qu ... ine/248735 невозможно сделать WebRequest работает, когда используется аутентификация Azure AD и мы применяем заголовок HttpRequestHeader.Authorization.
Я пытался использовать библиотеку CSOM:

Код: Выделить всё

var csomFile = context.Web.GetFileByServerRelativeUrl(serverRelativeUrl);
context.Load(csomFile, f => f.Exists);
context.ExecuteQueryWithRetry();
bool exists = csomFile != null && csomFile.Exists;
Однако такой код работает только для реальных файлов (я думаю). Он всегда возвращает False для URL-адреса https://mywebsite.sharepoint.com/_layouts/15/Test.aspx.
Итак, мой вопрос: Есть ли способ определить, существует ли URL-адрес, используя библиотеку CSOM, предполагая, что у нас уже есть аутентифицированный объект ClientContext (который может использовать заголовок CookieContainer или HttpRequestHeader.Authorization).

Подробнее здесь: https://stackoverflow.com/questions/781 ... url-exists
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»