Я проектирую архитектуру для проекта C # / .NET 3.5, который будет взаимодействовать между клиентом и сервером через WCF.Как правило, это будет система запрос-ответ, поэтому в качестве примера один из методов службы может выглядеть следующим образом:
User GetUserByLastName(string lastName);
Дополнительным условием является то, что клиентские методы WCF должны вызываться асинхронно, чтобы онине оказывает негативного влияния на скорость отклика пользовательского интерфейса, поскольку в некоторых случаях выполнение этих методов может занять значительное время.
У меня есть подтверждение концепции, которую я реализовал в соответствии с документацией Microsoft, поэтому прокси-серверы клиентовавтоматически генерируются с помощью диалогового окна «Добавить ссылку на службу» в Visual Studio, и я отмечаю опцию включения асинхронных методов.
Это прекрасно работает в качестве подтверждения концепции, но я встречал многочисленные посты в блоге и другие ссылкиНастоятельно рекомендуем не использовать автоматически сгенерированные прокси в крупномасштабном проекте.Некоторые из этих источников представляют альтернативы, включающие создание прокси вручную или динамическое создание прокси с использованием отражения, но эти решения, по-видимому, неизменно реализуют только синхронные вызовы WCF.
Автоматически сгенерированный прокси для асинхронного клиента WCF включает в себя довольнокод, который я бы не хотел применять вручную для каждого сервиса и метода.
Итак, мой вопрос:
Это плохая идея использовать автоматически сгенерированные прокси для асинхронныхУслуги WCF и, если да, есть ли хорошая альтернатива, которая не требует значительного ручного обслуживания кода котельной плиты?