【发布时间】:2015-06-29 12:47:17
【问题描述】:
我有一个 Web 请求 (HttpRequest),它在我的服务器上触发了第三个库扫描方法,该方法附加了一个事件处理程序:
scanner.OnScanComplete += scanner_OnScanComplete;
Web 请求将调用scanner.Scan(files),但是当扫描过程完成时,我如何强制(或挂钩)请求等待并从scanner_OnScanComplete 获取结果,以便它可以将数据返回给客户端而无需发送另一个获取此数据的网络请求?
void DoWork(HttpRequst request, var files)
{
var scanner = new Scanner()
scanner.OnScanComplete += scanner_OnScanComplete;
scan(files)
}
void scanner_OnScanComplete(object sender, EventArgs e)
{
var scanCompleted = true;
//Return scanCompleted somehow to the DoWork thread above
}
【问题讨论】:
-
这不是真正的代码,太难了!
new Scanner没有括号?!request如何使用等?Scanner是什么,OnScanComplete是如何工作的等等?! -
没有真正的代码,请求没有被使用,这是我想弄清楚的,我只是把这个作为我需要做的一个例子,为什么这很难理解?
-
我添加了括号,现在你可以弄清楚代码的作用了吗?
标签: c# multithreading events callback httphandler