WCF <operation>Асинхронные методы не генерируются в интерфейсе прокси - PullRequest
1 голос
/ 30 марта 2010

Я хочу использовать <operation>Asnyc методы вместо Begin<operation>/End<operation> на моем прокси-сервере клиента службы WCF, потому что я обновляю элементы управления WPF и должен убедиться, что они обновляются из потока пользовательского интерфейса. Я мог бы использовать класс Dispatcher для постановки в очередь элементов потока пользовательского интерфейса, но я не об этом спрашиваю ...

Я настроил ссылку на службу для генерации асинхронных операций, но она генерирует только методы в реализации прокси, а не его интерфейс. Интерфейс содержит только синхронные и Begin<operation>/End<operation> методы.

Почему эти методы не генерируются в интерфейсе и есть ли способ сделать это, или мне нужно создать производный интерфейс, чтобы добавить их вручную?

Ответы [ 2 ]

0 голосов
/ 19 октября 2010

Ваш проект должен быть нацелен на .NET Framework 3.5, чтобы генерировать прокси на основе событий. Смотрите раздел " Как включить " здесь .

0 голосов
/ 30 апреля 2010

В итоге я создал свой собственный интерфейс вручную, как это:

public interface IMyServiceProxy : IGeneratedServiceProxy
{
   void GetEntityAsync(GetEntityRequest request);
   void GetEntityAsync(GetEntityRequest request, object userState);
   event EventHandler<GetEntityCompletedEventArgs> GetEntityCompleted;
}

и затем создание производного класса, который реализует мой интерфейс:

public class MyServiceProxy : GeneratedServiceProxy, IMyServiceProxy
{
}

Дайте мне знать, если кто-нибудь найдет лучший обходной путь.

...