在duplex / WCF上自动生成回调类

时间:2011-12-25 17:15:52

标签: c# wcf binding

我正在尝试设置双工服务。 我创建了2个接口: 第一个 - 服务器实现的接口:

[ServiceContract(CallbackContract = typeof(IBackUpServiceCallback))]
public interface IBackUpService

使用服务实现的一些方法 第二个:

public interface IBackUpServiceClient

它包含服务器在回调客户端时应该使用的方法。 工具类名称

 BackUpServiceCallBack : IBackUpServiceClient 

在客户端。

问题是 - 在我添加服务之后 - 编译器自动生成:

interface IBackUpServiceCallback

并要求我实施它。 我有2个回调接口。 我在客户端实现的第一个(BackUpServiceClalBack)和第二个名称:IBackUpServiceCallback - 我无法控制它(客户端Url是“tempuri ..”)

即使BackUpServiceClalBack实现IBackUpServiceCallback - 它也不会在运行时到达实现方法。

我正在使用wsDualHttpBinding Binding。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我发现我根本不需要“添加服务参考”。 并且请原谅客户在设计时知道接口我可以使用它。

现在我不会有一个genareted代码calss。 以及代理我将使用:

    private DuplexChannelFactory<IBackUpService> factory;
    private IBackUpService _proxy;
    InstanceContext t = new InstanceContext(implementClass);
    factory = new DuplexChannelFactory<IBackUpService>(t, "nameOfBinding");

    _proxy = factory.CreateChannel();

并且绑定本身将在运行时。