Не может иметь две операции в одном контракте с одним и тем же именем (Async & Non)

Я получаю следующее исключение (не может иметь две операции в одном контракте с одним и тем же именем, методы ExecuteAsync и Execute), когда активирована следующая служба.

    [ServiceContract]
    public interface IMyService
    {
        [OperationContract]
        byte[] Execute(MyRequest request);

        [OperationContract]
        Task<byte[]> ExecuteAsync(MyRequest request);
    }

Я думаю, это имеет смысл, если вы используете svcutil.exe для создания ссылки на службу, поскольку операции на основе задач создаются для вас автоматически. Однако я не хочу добавлять ссылку на службу и вместо этого просто использовать стандартную ChannelFactory для создания канала WCF. Есть ли другой способ сделать это без переименования асинхронного метода в другое? Или я должен обернуть метод синхронизации на клиенте в Task.Run?

Ответы на вопрос(0)

Ваш ответ на вопрос