错误:类型' System.InvalidCastException'的第一次机会异常。发生在WebKitBrowser.dll

时间:2015-12-09 21:11:20

标签: c# .net multithreading webkit webkit.net

我试图在几秒钟的等待后按顺序打开我的应用程序中的多个URL。但是我在运行项目时遇到异常。我也把我的代码放在这里,请让我知道我做错了什么以及实现这个要求的最佳方法是什么。如果您需要有关我的项目配置的任何其他信息,请告诉我。

异常: 类型' System.NotImplementedException'的第一次机会异常发生在WebKitBrowser.dll中 类型' System.UriFormatException'的第一次机会异常发生在System.dll中 类型' System.InvalidCastException'的第一次机会异常发生在WebKitBrowser.dll中 类型' System.InvalidCastException'的第一次机会异常发生在WebKitBrowser.dll中 类型' System.InvalidCastException'的第一次机会异常发生在WebKitBrowser.dll中 线程0x3b8c已退出,代码为259(0x103) 线程0xf04已退出,代码为259(0x103) 程序' [0x2F30] WebKitProject.vshost.exe:程序跟踪'已退出代码0(0x0)。
该程序' [0x2F30] WebKitProject.vshost.exe'已退出代码0(0x0)。

程序:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Windows.Forms;
    using WebKit.Interop;

    namespace WebKitProject
    {
        public partial class Form1 : Form
        {                
            private string[] urls = new string[] { "http://www.google.com", "http://www.whatsmyip.org", "http://www.bling.com", "http://www.facebook.com" };
            int urlPointer = 0;


            public Form1()
            {
                InitializeComponent();            
            }

            private void Form1_Load(object sender, EventArgs e)
            {
               openBrowser(sender, e);           
            }

            private void openBrowser(object sender, EventArgs e)
            {
                if (urlPointer < urls.Length)
                {
                    String urlStr = urls[urlPointer];
                    urlPointer++;

                    this.webKitBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webKitBrowser1_Completed);
                    webKitBrowser1.Navigate(urlStr);
                }       
            }

            void webKitBrowser1_Completed(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                System.Timers.Timer timer = new System.Timers.Timer(5000);
                timer.Elapsed += new System.Timers.ElapsedEventHandler(openBrowser);
                timer.Start();
            }
        }
    }

0 个答案:

没有答案