WCF合同可以使用多个回调接口吗?

时间:2010-03-23 22:52:41

标签: .net wcf

我正在尝试这样的事情:

[ServiceContract (
    CallbackContract = typeof (CallbackContract_1),
    CallbackContract = typeof (CallbackContract_2),
    CallbackContract = typeof (CallbackContract_3))
]
public interface SomeWcfContract {

我知道它不会像这样工作。还有办法让单个合同使用多个回调接口吗?

1 个答案:

答案 0 :(得分:7)

  

服务合同只能指定   如果是合同的回调合同   是所有回调的子接口   合同规定的合同   自己的基本合同。

interface ICallbackContract1
{...}

interface ICallbackContract2 : ICallbackContract1
{...}

[ServiceContract(CallbackContract = typeof(ICallbackContract1))]
interface IMyBaseContract
{...}

[ServiceContract(CallbackContract = typeof(ICallbackContract2))]
interface IMySubContract : IMyBaseContract
{...}

interface ICallbackContract1
{...}
interface ICallbackContract2
{...}
interface ICallbackContract3 : ICallbackContract2,ICallbackContract1
{...}

[ServiceContract(CallbackContract = typeof(ICallbackContract1))]
interface IMyBaseContract1
{...}
[ServiceContract(CallbackContract = typeof(ICallbackContract2))]
interface IMyBaseContract2
{...}
[ServiceContract(CallbackContract = typeof(ICallbackContract3))]
interface IMySubContract : IMyBaseContract1,IMyBaseContract2
{...}

see for more details