我已经由第三方提供了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窗体中调用blackbox.Processed事件时,此实现工作正常,不到一秒钟。但是,当我在WCF方法中实现它时,blackbox.Processed事件永远不会被捕获。
有人可以帮忙吗?
答案 0 :(得分:1)
由于您没有为您的服务提供代码,因此很难确定,但我的猜测是,在您的blackbox组件触发事件之前,对您的服务方法的调用已经返回。您可以看到的一件事是使用WCF双工服务,该服务允许您将事件从服务器发布到客户端。