【发布时间】:2011-09-17 06:16:59
【问题描述】:
我在使用 Windows 服务 webbrowser 对象时遇到了一些问题。它正在尝试将用户名和密码的值加载到站点,但一直失败并抛出以下错误:
System.InvalidCastException: Specified cast is not valid.
at System.Windows.Forms.UnsafeNativeMethods.IHTMLDocument2.GetLocation()
at System.Windows.Forms.WebBrowser.get_Document()
at MyWindowsService.MyDataProcessor.login()
我用来进行此调用的代码是:
MyWebBrowser.Document.All["Login"].SetAttribute("Value", username);
MyWebBrowser.Document.All["Password"].SetAttribute("Value", password);
MyWebBrowser.Document.All["submit"].InvokeMember("Click");
关于它为什么一直失败的任何想法?提前感谢您的帮助。
【问题讨论】:
-
所以我想我已经找到了问题所在。 WebBrowser 对象中存在一个错误,该错误会阻止 DocumentCompleted 在不可见时触发,这就是 Windows 服务的全部意义所在。 (这里有一个链接:support.microsoft.com/kb/259935)我该如何纠正这个问题?我很想继续使用 WebBrowser 对象,因此我不必重写所有内容,但不知道如何使其在 Windows 服务中可见。谢谢。