1

私はサービスWCFインターフェースを持っています:

[ServiceContract(Namespace = "net.pipe://QFX_DLL/TradingService")]
public interface IGenericTradingInterface  {

    [OperationContract]
    void GetServerInformation(out ServerAttributes attributes);
}

このホストは正常に稼働しています。次のように、svcutil を使用してクライアント プロキシ オブジェクトを作成します。

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config net.pipe://localhost/QFX_DLL/mex /async /tcv:Version35

非同期呼び出し用に生成されたプロキシは次のようになります。

public void GetServerInformationAsync()
{
    this.GetServerInformationAsync(null);
}

ご覧のとおり、out パラメータの属性が完全に欠落しています。非非同期メソッドは問題ないようです。この GetServerInformationAsync の宣言では、結果を取得できません。何が起きてる?

4

1 に答える 1

2

out パラメーター (およびすべての結果) は EventArgs クラスにあり、GetServerInformation が完了すると発生するイベントに渡されます (おそらく GetServerInformationCompleted)。プロパティ名は Result (値を 1 つだけ返す操作の場合) またはパラメーター名 (属性) のいずれかになります。

于 2011-09-28T23:59:40.267 に答える