2010-03-23 35 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

相關問題