Может ли контракт WCF использовать несколько интерфейсов обратного вызова? - PullRequest
6 голосов
/ 24 марта 2010

Я пытаюсь что-то вроде этого:

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

Я знаю, что это не работает так. Есть ли еще способ получить один контракт, используя несколько интерфейсов обратного вызова?

1 Ответ

7 голосов
/ 24 марта 2010

Договор на обслуживание может только обозначить контракт обратного вызова, если этот контракт это подинтерфейс всего обратного вызова контракты, определенные договором собственные базовые контракты.

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
{...}

см. Подробнее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...