0

当我使用 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

显然我可以手动编辑代理,但由于该项目仍在进行中,我将不得不多次重新生成代理并且宁愿现在学习正确的方法,而不是每次重新编译时都手动调整代理文件。

4

1 回答 1

0

通过尝试使用 DuplexChannelFactory 创建代理,我收到了一个不同的错误,并发现您需要首先在 Callback 接口中实现 OperationContract,否则 CallbackContract 将被忽略,因此不是从 DuplexClientBase 派生的。

于 2013-04-08T05:45:58.150 回答