Я получаю данные listitem с помощью List.asmx в SharePoint 2010 (проверка подлинности).Как обрабатывать CommunicationException при использовании Lists.asmx в SharePoint 2010
Код выглядит следующим образом.
private void GetItems(string listname)
{
ListsService.ListsSoapClient client = new ListsService.ListsSoapClient();
appset = new AppSettings();
client.CookieContainer = appset.CookieSetting;
client.GetListItemsAsync(listname, null, null, null, "10", null, null);
client.GetListItemsCompleted += new EventHandler<ListsService.GetListItemsCompletedEventArgs>(client_GetListItemsCompleted);
}
void client_GetListItemsCompleted(object sender, ListsService.GetListItemsCompletedEventArgs e)
{
listBox1.ItemsSource = from element in e.Result.Descendants(XName.Get("row", "#RowsetSchema"))
select new Lists
{
Title = (string)element.Attribute("ows_LinkTitle")
};
}
При истечении времени аутентификации формы происходит необработанное исключение CommunicationException. Трассировка стека находится здесь.
на System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication (HttpWebRequest запрос, ответ HttpWebResponse, WebException responseException, HttpChannelFactory завод) на System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse (HttpWebRequest запрос, ответ HttpWebResponse, HttpChannelFactory завод, WebException responseException) на System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.ProcessResponse (HttpWebResponse ответа, WebException responseException) в System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse (IAsyncResult результат) на System.ServiceModel.Channels. HttpChannelFactory.HttpRequestChannel .HttpChannelAsyncRequest.OnGetResponse (результат IAsyncResult) в System.Net.Browser.ClientHttpWebRequest. <> c_ DisplayClassa.b _8 (State2 Object) в System.Threading.ThreadPool.WorkItem.doWork (Object о) в System.Threading.Timer.ring()
я не мог справиться даже CommunicationException если я использую try ~ catch. Итак, дайте мне знать, как обращаться с CommunicationException.
Спасибо за ваш совет. –
Спасибо за ваш совет. Но я не мог решить, используя ваш совет. Кажется, что CommunicationException происходит до того, как GetListItemsCompleted будет выпущен. Также я не мог поймать Исключение в блоке try ~ catch. –