У меня есть приложение Winforms, которое отображает семейство сайтов SharePoint и библиотеки документов в элементе управления TreeView
с иерархией в соответствии с уровнем сайта.
Я использую следующий код для учетной записи с включенным MFA
AuthenticationManager authManager = new AuthenticationManager();
using (ClientContext clientContext = authManager.GetWebLoginClientContext(siteUrl))
{
Web web = clientContext.Web;
WebCollection site = web.GetSubwebsForCurrentUser(null);
clientContext.Load(site, we => we.Include(w => w.Url, w => w.Title));
clientContext.ExecuteQuery();
teamSites = site.ToDictionary(w => w.Url, w => w.Title);
teamSites = teamSites.OrderBy(kvp => kvp.Value).ToDictionary(k => k.Key, k => k.Value);
ListCollection libraries = web.Lists;
clientContext.Load(libraries, l => l.Include(li => li.DefaultViewUrl, li => li.BaseType, li => li.Title, li => li.BaseTemplate, li => li.Hidden));
clientContext.ExecuteQuery();
documentLibraries = libraries.Where(lib => lib.BaseType == BaseType.DocumentLibrary && lib.Hidden == false && lib.BaseTemplate == 101).ToList();
}
URL сайта группы будет добавлен к каждому TreeNode
в моем TreeView
, когда пользователь нажимает на TreeNode
, ему нужно будет загружать подсайты и библиотеки документов, используя вышеуказанный метод. Тем не менее, каждый раз, когда он загружается, всплывающее окно отображается и исчезает, потому что пользователь уже вошел в систему. Есть ли способ предотвратить его появление каждый раз, когда пользователь нажимает на сайт TreeNode
?