运行Task<>时出现InvalidCast错误

时间:2013-03-14 00:11:57

标签: c# .net task

我遇到了一个问题,我写了一个程序来抓取内部网站的数据。当前顺序运行,但由于时间太长,我现在需要同时运行它们。我已经开始阅读运行它们,因为任务是最好的方法。所以示例代码看起来像这样。

我的scrape函数返回一个DataSet

Task<DataSet> task = new Task<DataSet>(() => Scraper.Website1(IE_Object, dataset));
task.Start();

DataSet web1_ds = task.Result;

当函数Scraper.Website1()运行时,它在尝试在输入字段中键入文本时会遇到InvalidCast异常。

当不作为任务运行时,此方法可以正常工作。我哪里错了?

编辑:

错误发生在第一个_ie.TextField()。TypeText();

if (!Globals.CheckLogin(_ie))
{
    CLogger.WriteLog(ELogLevel.DEBUG, "Scraper: " + "Website1(): " + "Logging   Into Site");
    //enter login details
    _ie.TextField("_ctl0_dnnLOGIN_txtUsername").TypeText("username");
    _ie.TextField("_ctl0_dnnLOGIN_txtPassword").TypeText("password");
    _ie.Link("_ctl0_dnnLOGIN_btnLogin").Click();
    //confirm login
    _ie.WaitUntilContainsText("Logout");
    CLogger.WriteLog(ELogLevel.DEBUG, "Scrappy: " + "Synnex(): " + "Logged In");
}

0 个答案:

没有答案