我有一个带有BackgroundWorker的Winform。除其他外,BackgroundWorker必须对页面进行HTTP调用,填写一些数据,提交表单,并检索“点击”提交按钮后返回的HTML。我这样做时遇到了许多障碍:
我该怎么做才能解决这个问题?
[编辑]:应用程序入口点已标记为[STAThread]属性。
答案 0 :(得分:2)
您是否尝试使用WebClient.UploadValues并将Method参数设置为“GET”?
答案 1 :(得分:0)
不要使用后台工作人员吗?
如果您这样做,可以将ApartmentState设置为您想要的。只需记住在将数据推送回任何Form控件时调用/ BeginInvoke。
答案 2 :(得分:0)
在这种情况下,哪种Web服务器不支持POST?可比的HTML表单有什么作用? POST还是GET?只是这样做..我怀疑WebClient或HttpWebRequest将完成这项工作。
答案 3 :(得分:0)
我不确定你真正在问什么。如果您运行后台进程但它失败,则通过RunWorkerCompletedEvent报告。如果您随后查看了eventarguments,您可以判断该进程是否成功(通过RunWorkerCompletedEventArgs.Error属性)。
根据错误,您可以重新启动请求或向用户显示错误。
我希望我不会完全离开赛道。