C# - System.InvalidCastException
Warum bin ich immer diese Fehlermeldung?
System.InvalidCastException was unhandled by user code
Message=Specified cast is not valid.
Source=System.Windows.Forms
StackTrace:
at System.Windows.Forms.UnsafeNativeMethods.IHTMLDocument2.GetLocation()
at System.Windows.Forms.WebBrowser.get_Document()
at System.Windows.Forms.WebBrowser.get_DocumentStream()
at System.Windows.Forms.WebBrowser.get_DocumentText()
at SiteBot.MainWindow.backgroundWorker1_DoWork(Object sender, DoWorkEventArgs e) in D:\Documents\Visual Studio 2010\Projects\SiteBot\MainWindow.cs:line 35
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
InnerException:
Sehen, dass link, die sagt, "Kopieren" Fehlerdetails kopieren"? Bitte fügen Sie das Ergebnis in deine Frage.
Ich würd Aktivieren Framework-Source-Stepping-und Symbol-Server. Dies lässt die Ausnahme-show in den code werfen.
Ähhh... können Sie den Zugriff auf eine WebBrowser-Komponente auf die nicht-GUI-thread?
Wäre gut, wenn Sie könnten fügen Sie den Wert für die webBrowserMain.DocumentText
Haahahaha... jeder, der auf die website zu gehen? Dieser Kerl versucht zu Melken, Geld durch die Automatisierung der Klick auf anzeigen.
Ich würd Aktivieren Framework-Source-Stepping-und Symbol-Server. Dies lässt die Ausnahme-show in den code werfen.
Ähhh... können Sie den Zugriff auf eine WebBrowser-Komponente auf die nicht-GUI-thread?
Wäre gut, wenn Sie könnten fügen Sie den Wert für die webBrowserMain.DocumentText
Haahahaha... jeder, der auf die website zu gehen? Dieser Kerl versucht zu Melken, Geld durch die Automatisierung der Klick auf anzeigen.
InformationsquelleAutor Hooch | 2011-03-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den folgenden löst Ihr cross-thread-Problem.
InformationsquelleAutor Fun Mun Pieng
Bekomme ich ein threading-Ausnahme mit diesem test:
Ausnahme sieht so aus:
Seit WebBrowser ist eigentlich nur ein wrapper um die IE-ActiveX-Steuerelement haben, müssen Sie vorsichtig sein, über threading Probleme. Ich denke, was Sie wirklich benutzen wollen, hier ist ein WebClient, und nicht ein WebBrowser, aber ich kann nur raten, über Ihre Anwendung.
[BEARBEITEN]
Wie @Fun-Staaten können Sie nur Aufrufen, über die GUI-thread (vorausgesetzt, das ist, wo das Steuerelement erstellt wurde. Ich würde noch empfehlen, mit einem WebClient.
InformationsquelleAutor Ritch Melton