Awesomium offscreen webview永远不会加载页面

Ale*_*bin 2 c# awesomium

public class Program
{
    static void Main(string[] args)
    {
        var session = WebCore.CreateWebSession(new WebPreferences { WebSecurity = false });
        var browser = WebCore.CreateWebView(1920, 3000, session, WebViewType.Offscreen);
        WebCore.ShuttingDown += WebCoreOnShuttingDown;
        browser.ConsoleMessage += BrowserOnConsoleMessage;
        browser.LoadingFrameComplete += BrowserOnLoadingFrameComplete;
        browser.DocumentReady += BrowserOnDocumentReady;
        browser.Source = new Uri("http://www.google.ru/");
        var error = browser.GetLastError();
        Console.ReadKey();
    }

    private static void BrowserOnConsoleMessage(object sender, ConsoleMessageEventArgs consoleMessageEventArgs)
    {

    }

    private static void WebCoreOnShuttingDown(object sender, CoreShutdownEventArgs coreShutdownEventArgs)
    {

    }

    private static void BrowserOnDocumentReady(object sender, UrlEventArgs urlEventArgs)
    {

    }

    private static void BrowserOnLoadingFrameComplete(object sender, FrameEventArgs frameEventArgs)
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

这是行不通的.这些事件都没有被解雇.errorNone.我敢肯定我会错过一些明显的东西.是否WebView应该另外初始化不知何故?我在Awesomium Wiki中搜索但没有找到任何其他信息.

Dmi*_*oly 7

我做了一些研究并在这里找到了指导

等到页面完成加载

while(view-> IsLoading())
web_core-> Update();

在.Net WebCore.Update中不推荐使用并有一个描述:

在非UI环境(甚至是UI应用程序)中,您现在可以为Awesomium创建专用线程,并从该线程使用WebCore.Run开始自动更新.

所以我创建了这个代码示例:

static void Main(string[] args)
{
    Task t = new Task(() =>
    {
        WebCore.Initialize(new WebConfig(), true);
        WebView browser = WebCore.CreateWebView(1024, 768, WebViewType.Offscreen);
        browser.DocumentReady += browser_DocumentReady;
        browser.Source = new Uri("https://www.google.ru/");
        WebCore.Run();
    });
    t.Start();
    Console.ReadLine();
}
static void browser_DocumentReady(object sender, UrlEventArgs e)
{
    Console.WriteLine("DocumentReady");
}
Run Code Online (Sandbox Code Playgroud)

您可以在WebCore.Run说明中找到更多信息.