2

私はWCFの初心者です。複数のコールバック契約の可能性のある方法を探していました。

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

私はグーグルを検索していて、それが次のような方法を見つけました

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

複数のコールバック契約を結ぶ他の方法があるかどうかを知る必要があります。ありがとう

4

1 に答える 1

0

1つのサービスコントラクトに対して複数のコールバックコントラクトを持つことはできません(これは1:1の関係であり、コールバックコントラクトはnullになる可能性があります)。私が試したことはありませんが、その代替手段(それぞれが独自のコールバックコントラクトを持つ複数の「フォワード」コントラクトを使用)は機能するはずです(簡単なプログラムを作成してテストできます)。

于 2012-10-29T05:03:02.453 に答える