При попытке доступа к серверу 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, мы получаем всплывающее диалоговое окно для ввода учетных данных, учетных данных обнаружения, и оно не будет аутентифицироваться, но мы можем получить список сервисов. Это происходит как в производственной, так и в тестовой среде.
Пожалуйста, смотрите изображения в порядке событий для добавления веб-службы:
Добавить веб-сервис:
Далее мы получаем три диалога для списка, ошибок и метаданных, и ни один из них не проверяется.
Закрыть для первого экрана:
Мы наконец нажали "Отмена".
И вы можете увидеть звонки, которые мы можем совершить с услугой:
У кого-нибудь есть идеи?