当我使用 SvcUtil.exe 生成我的服务的代理时,即使我声明了一个 CallbackContract,我也会得到一个派生自 ClientBase 的类。这是服务合同:
[ServiceContract(CallbackContract = typeof(IMechClient))]
interface IMechService
{
[OperationContract(IsOneWay = true)]
void Increment();
[OperationContract]
bool RegisterPlayer();
}
这是生成的代理标头:
public partial class MechServiceClient : System.ServiceModel.ClientBase<IMechService>, IMechService
显然我可以手动编辑代理,但由于该项目仍在进行中,我将不得不多次重新生成代理并且宁愿现在学习正确的方法,而不是每次重新编译时都手动调整代理文件。