Kann nicht zwei Operationen mit demselben Namen im selben Vertrag haben (Async & Non)

Ich erhalte die folgende Ausnahme (Es dürfen nicht zwei Operationen mit demselben Namen im selben Vertrag vorhanden sein, Methoden ExecuteAsync und Execute), wenn der folgende Dienst aktiviert ist.

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

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

Ich denke, dies ist sinnvoll, wenn Sie die svcutil.exe zum Erstellen Ihrer Dienstreferenz verwenden, da die aufgabenbasierten Vorgänge automatisch für Sie erstellt werden. Ich möchte jedoch keine Dienstreferenz hinzufügen und stattdessen einfach die Standard-ChannelFactory verwenden, um den WCF-Kanal zu erstellen. Gibt es eine andere Möglichkeit, ohne die asynchrone Methode in etwas anderes umzubenennen? Oder muss ich die Synchronisationsmethode auf dem Client in einen Task.Run einbinde

Antworten auf die Frage(10)

Ihre Antwort auf die Frage