2010-03-23 41 views
5

我想是这样的:WCF协定可以使用多个回调接口吗?

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

我知道这并不喜欢这个工作。是否还有办法让单个合约使用多个回调接口?

回答

6

服务合同只能指定 回调合同,如果合同中 是合同的 自己的基地契约中定义的所有回调 合同的子接口。

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

+0

啊,我还以为子接口意味着什么样的基本接口...这是相当相反。现在它突然变得非常有意义。它非常适合我的计划应用程序设计。 – mafu 2010-03-23 23:53:56

+0

@mafutrct:祝你好运。 – garik 2010-03-24 06:47:01

+0

@garik很好的答案!这不是一种直观或容易找到的东西,但它的工作原理如上所述。 – SouthShoreAK 2013-05-03 15:16:24

相关问题