работает ли SoapClient в потоке пользовательского интерфейса так же, как WebClient?

#silverlight #web-services #windows-phone-7 #soap #webclient

#silverlight #веб-сервисы #windows-phone-7 #soap #webclient

Вопрос:

У меня есть эта путаница, которая заставляет меня сомневаться в происхождении задержки производительности в моем приложении Windows Phone 7.

Мы все знаем, что WebClient запускается в потоке пользовательского интерфейса и является злом, и его следует избегать. Но у меня есть веб-сервис, который является ссылочным с использованием Visual studio, поэтому для этого создается класс, подобный XXXSoapClient: ClientBase. Теперь вопрос в том:

«Это также выполняется в потоке пользовательского интерфейса?»

— Предполагая, что ответ положительный, каково обходное решение? Вызов сложных методов веб-сервиса с использованием URL и HttpWebRequest является настолько трудоемким!

Приветствия.

P.S. Хорошей новостью является то, что проблема с WebClient от «Mango» будет решена, и он будет выполняться в «Исходном потоке».

Комментарии:

1. Не знаю, но держу пари, что работает.

2. Что ClientBase используется внутри?

3. Это подпись класса ClientBase<T>: ClientBase<TChannel> : ICommunicationObject, где TChannel : class

4. Предполагая, что ответ положительный, каково обходное решение? Вызов сложных методов веб-сервиса с использованием URL и HttpWebRequest является настолько трудоемким!

Ответ №1:

WebClient будет запускаться в исходном потоке для Windows Phone 7.1 / 7.5