【问题标题】:Deep copy System.Windows.Forms.WebBrowser Object/Restore State深拷贝 System.Windows.Forms.WebBrowser 对象/恢复状态
【发布时间】:2010-10-22 02:26:45
【问题描述】:

基本上我想做的是复制一个 WebBrowser 对象,这样我就可以执行相当于“在新选项卡中打开”或“在新窗口中打开”操作,维护任何已发布的数据。我不只是想导航到与原始 WebBrowser 对象相同的 URL,而是想重复 HttpWebRequest。这可能吗?怎么样?

【问题讨论】:

  • 为了它的价值,我尝试从 WebBrowser 继承,将子类标记为可序列化,并使用序列化进行克隆,但编译器仍然通知我 System.Windows.Forms.WebBrowser 不可序列化.
  • 您要在哪里“复制”WebBrowser? ViewState 旨在维护跨回发的页面条件。在服务器 Server.Transfer 和 Response.Redirect 上更改页面有两个选项。不确定我是否理解您尝试完成此操作的背景。
  • 我试图在 VB.Net 应用程序中复制 WebBrowser 对象,而不是在 ASP.Net 中。该应用程序是一个网络爬虫,在某些情况下,它使用 Forms.WebBrowser 对象进行涉及 javascript 或表单帖子的页面导航。不幸的是,httprequest 没有暴露在微软的浏览器对象中,所以我无法在新浏览器中复制表单发布请求,所以我希望通过其他方式复制 WebBrowser 的状态。

标签: c# .net vb.net browser deep-copy


【解决方案1】:

我相信 WebBrowser 对象是一个控件,因此它有一个窗口句柄,如果您尝试克隆它会导致问题。我不认为你会得到你想要的行为。

【讨论】:

    猜你喜欢
    • 2015-09-14
    • 1970-01-01
    • 2013-06-06
    • 2012-06-19
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    相关资源
    最近更新 更多