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

maf*_*afu 6 .net wcf

我正在尝试这样的事情:

[ServiceContract (
    CallbackContract = typeof (CallbackContract_1),
    CallbackContract = typeof (CallbackContract_2),
    CallbackContract = typeof (CallbackContract_3))
]
public interface SomeWcfContract {
Run Code Online (Sandbox Code Playgroud)

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

gar*_*rik 7

如果该合同是合同自己的基本合同定义的所有回调合同的子接口,则服务合同只能指定回调合同.

interface ICallbackContract1
{...}

interface ICallbackContract2 : ICallbackContract1
{...}

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

[ServiceContract(CallbackContract = typeof(ICallbackContract2))]
interface IMySubContract : IMyBaseContract
{...}
Run Code Online (Sandbox Code Playgroud)

要么

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
{...}
Run Code Online (Sandbox Code Playgroud)

了解更多详情