2 Stimmen

WCF und mehrere Callback Contracts möglich

Ich bin Neuling in WCF.i war auf der Suche nach wayout von mehreren Callback Vertrag möglich oder nicht wie unten

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

Ich habe Google durchsucht und einen Weg gefunden, der wie folgt aussah

interface ICallbackContract1
{...}

interface ICallbackContract2 : ICallbackContract1
{...}

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

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

or

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

Ich muss nur wissen, ob es einen anderen Ausweg für einen Vertrag mit mehreren Rückrufaktionen gibt.

0voto

carlosfigueira Punkte 82509

Sie können nicht mehrere Callback-Verträge für einen einzigen Servicevertrag haben (es handelt sich um eine 1:1-Beziehung, bei der der Callback-Vertrag null sein kann). Die Alternative (mehrere "Forward"-Verträge, jeder mit seinem eigenen Callback-Vertrag), wie Sie gefunden haben, sollte funktionieren, obwohl ich es nicht versucht habe (Sie können ein einfaches Programm schreiben, um das zu testen).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X