当以下服务被激活时,我得到以下异常(在同一个合同中不能同时使用两个操作,方法为ExecuteAsync和Execute).
[ServiceContract] public interface IMyService { [OperationContract] byte[] Execute(MyRequest request); [OperationContract] Task<byte[]> ExecuteAsync(MyRequest request); }
如果您正在使用svcutil.exe来创建服务引用,那么我认为这是有道理的,因为基于任务的操作是为您自动创建的.但是,我不想添加一个服务引用,而只是使用标准的ChannelFactory创建WCF通道.有没有什么其他的方法这可能没有重命名异步方法到别的什么?或者我必须在Task.Run中的客户端上包装sync方法?