Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WCF中捕获第三方DLL事件_C#_Wcf - Fatal编程技术网

C# 在WCF中捕获第三方DLL事件

C# 在WCF中捕获第三方DLL事件,c#,wcf,C#,Wcf,第三方为我提供了一个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

第三方为我提供了一个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事件的Windows窗体调用时,此实现工作正常,在不到一秒钟的时间内触发事件。然而,当我在WCF方法中实现这个时,blackbox.Processed事件永远不会被捕获


有人能帮忙吗?

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


根据您的建议,我将DLL调用构建到双工WCF服务中,只是为了得到相同的结果,即没有从blackbox捕获任何事件。为了测试我是否正确构建了服务,我在服务中加入了一个计时器,它可以捕获成功的经过的方法。我想我得和DLL供应商谈谈。