为CefSharp写一个asynchrone IResoureHandler

时间:2016-06-15 14:37:25

标签: c# asynchronous cefsharp

我已经编写了自己的ResourceHandler。 ProcessRequest()工作asynchrone。将CefSharp从43(WPF)更新为49(WinForms)后,我遇到了一些IRequest.IsDisposed问题。

似乎在我的任务启动之前处理了请求。如果请求被处理,我就无法访问帖子数据。

public class MySchemeHandler : IResourceHandler {
  // ...

  public bool ProcessRequest(IRequest request, ICallback callback) {
    // copy request???
    Task.Run(() => {
      try {

        if (request.IsDisposed == true) // Copy post data before Task.Run()???
          throw new ExpressDisposedException();

        // ...
        // Process(request, callback);

      } catch(Exception ex) {
        callback.Cancel();
      } finally {
        callback.Dispose();
      }
    });
    return true;
  }
}

有没有办法避免处理IRequest。是一个完整的例子,如何使它更好。

0 个答案:

没有答案