捕获WCF中的第三方DLL事件

本文关键字:DLL 事件 第三方 WCF 捕获 | 更新日期: 2023-09-27 18:28:30

第三方为我提供了一个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(); 
  }

当从带有黑盒的Windows窗体调用时,此实现工作正常。在不到一秒钟的时间内处理了事件触发。然而,当我在WCF方法blackbox中实现这一点时。已处理的事件永远不会被捕获。

有人能帮忙吗?

捕获WCF中的第三方DLL事件

很难说,因为您还没有为服务提供代码,但我的猜测是,在blackbox组件触发事件之前,对服务方法的调用正在返回。您可以考虑使用WCF双工服务,该服务允许您将事件从服务器发布到客户端。

WCF双工服务