3

私は、提供されたデータを処理し、以下のようにイベントを通じて結果を返すサードパーティから DLL を提供されました。

private IBlackbox blackbox;

// Capture the processed data from the BlackBox
public void blackbox_Processed(object sender, BlackBoxEventArgs e)
  {
    string returndata = e.ReturnData;
    // Do something with the data
  }

public void blackbox_Run(string datavalues)
  {
    blackbox.Processed += new EventHandler(blackbox_Processed);
    blackbox = BlackBox.Create(datavalues);
    blackbox.Start(); 
  }

この実装は、blackbox.Processed イベントが 1 秒以内に発生する Windows フォームから呼び出された場合に正常に機能します。ただし、これを WCF メソッドに実装すると、blackbox.Processed イベントがトラップされることはありません。

誰でも助けることができますか?

4

1 に答える 1

1

サービスのコードを提供していないため、確実なことは言えませんが、ブラックボックス コンポーネントがイベントを発生させる前に、サービス メソッドへの呼び出しが返されていると推測されます。あなたが見ることができる1つのことは、サーバーからクライアントにイベントを発行できるようにするWCF二重サービスを使用することです。

WCF デュプレックス サービス

于 2013-08-20T15:51:40.827 に答える