C# 为什么异步wcf代理操作具有不同的返回类型

C# 为什么异步wcf代理操作具有不同的返回类型,c#,wcf,client,C#,Wcf,Client,我有一个WCF服务,它公开了对它的操作 服务接口(服务器端) [OperationContract] ResolveAliasResponse ResolveAlias(ResolveAliasRequest request); 响应对象(服务器端) [DataContract] public class ResolveAliasResponse : GenericGatewayResponse { [DataMember] public AliasIdentifier Ali

我有一个WCF服务,它公开了对它的操作

服务接口(服务器端)

[OperationContract]
ResolveAliasResponse ResolveAlias(ResolveAliasRequest request);
响应对象(服务器端)

[DataContract]
public class ResolveAliasResponse : GenericGatewayResponse
{
    [DataMember]
    public AliasIdentifier AliasIdentifier { get; set; }

    [DataMember]
    public AccountDetail AccountDetail { get; set; }

    [DataMember]
    public AliasDetail AliasDetail { get; set; }
}
在客户端,我的WCF代理为此创建了两个不同的操作—一个是同步的,一个是异步的。我不明白的是为什么退货类型不同

var result = await outgoingClient.ResolveAliasAsync(request);

var result2 = outgoingClient.ResolveAlias(request);
返回类型(客户端代理)

结果类型=ResolveAliasResponse1
result.Body.ResolveAliasResult类型=ResolveAliasResponse

结果2类型=ResolveAliasResponse1

wsdl中没有关于“ResolveAliasResponse1”的内容。为什么异步方法上有额外的包装