При попытке получить доступ к серверу SharePoint WSS 3.0 с помощью API веб-сервисов разрабатываемая нами программная служба зависает где-то между 30-60 секундами при выполнении любого вызова (выберите любой из них, это не имеет значения) к серверу в первый раз. . После того, как сделан этот первый вызов, каждый последующий запрос выполняется очень быстро.
Это происходит как при локальной установке SharePoint для разработчиков, так и в производственной среде SharePoint, что дает одинаковые результаты, что бы мы ни пытались.
При доступе к сайту SharePoint (как локальному, так и производственному) через веб-браузер с использованием тех же учетных данных для входа, которые используются с WSS API, в процессе аутентификации отсутствует время задержки.
Этот код используется через C # для аутентификации в SharePoint WSS:
_lists = new Lists
{
Credentials = new NetworkCredential(UserName, Password, Domain),
Url = string.Format("{0}/_vti_bin/Lists.asmx", BaseUrl),
UseDefaultCredentials = false
}; // Reference the list object.
Как только код попадает в строку ниже, он зависает на 30-60 секунд.
the GetList(string listName)
_lists.GetList("TestList");
После этого любой звонок будет очень быстрым.
И последнее замечание. При попытке доступа к службе через Visual Studio мы получаем всплывающее диалоговое окно для ввода учетных данных, учетных данных обнаружения, и оно не будет проходить проверку подлинности, но мы можем получить список служб. Это происходит как в производственной, так и в тестовой среде.
Просмотрите изображения в порядке событий для добавления веб-службы:
Добавить веб-сервис:
Затем мы получаем три диалога для списка, ошибок и метаданных, и ни один из них не проверяется.
Закройте для первого экрана:
Наконец, мы нажали "Отмена".
И можете увидеть звонки, которые мы можем сделать против службы:
У кого-нибудь есть идеи?