WCF <операция>Асинхронные методы не генерируются в интерфейсе прокси
Я хочу использовать <operation>Asnyc
методы, а не Begin<operation>/End<operation>
на моем прокси клиента службы WCF, потому что я обновляю элементы управления WPF и должен убедиться, что они обновляются из потока пользовательского интерфейса. Я мог бы использовать класс Dispatcher для постановки в очередь элементов потока пользовательского интерфейса, но я не об этом спрашиваю...
Я настроил ссылку на службу для генерации асинхронных операций, но она генерирует только методы в реализации прокси, а не его интерфейс. Интерфейс содержит только синхронный и Begin<operation>/End<operation>
методы.
Почему эти методы не генерируются в интерфейсе и есть ли способ сделать это, или мне нужно создать производный интерфейс, чтобы добавить их вручную?
2 ответа
В итоге я создал свой собственный интерфейс вручную, вот так:
public interface IMyServiceProxy : IGeneratedServiceProxy
{
void GetEntityAsync(GetEntityRequest request);
void GetEntityAsync(GetEntityRequest request, object userState);
event EventHandler<GetEntityCompletedEventArgs> GetEntityCompleted;
}
и затем создание производного класса, который реализует мой интерфейс:
public class MyServiceProxy : GeneratedServiceProxy, IMyServiceProxy
{
}
Дайте мне знать, если кто-нибудь найдет лучший обходной путь.
Ваш проект должен быть нацелен на.NET Framework 3.5, чтобы генерировать прокси на основе событий. Смотрите раздел "Как включить" здесь.