在Web页面里面调用System.Windows.Forms.WebBrowser时报错,提示只能在单线程中使用。
通过设置Page.AspCompatMode为True解决问题,但是对程序性能有影响。

MSDN上的信息:

Page.AspCompatMode 属性

 

此属性支持 .NET 基础结构,但不适合在代码中直接使用。

设置一个值,它指示页是否可在单线程单元 (STA) 线程上执行。

命名空间:System.Web.UI
程序集:System.Web(在 system.web.dll 中)

属性值

如果页支持 Active Server Page (ASP),则为 true;否则为 false。默认为 false。 
 备注

当设置为 true 时,此属性允许页在单线程单元 (STA) 线程上执行。这使页可以调用 STA 组件,例如使用 Visual Basic 6.0 开发的组件。将此属性设置为 true 还可以使页调用需要访问非托管 ASP 内置对象的 COM+ 组件。这些组件可以通过 ASP ObjectContext 对象或 OnStartPage 方法访问。

在大多数情况下不要在代码中设置该属性。使用 .aspx 文件的 @ Page 指令将 aspcompat 属性设置为 true。请求该页时,该属性将由动态生成的类进行设置。

相关文章:

  • 2021-08-08
  • 2021-09-13
  • 2021-07-04
  • 2021-11-19
  • 2021-08-04
  • 2022-02-19
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-21
  • 2022-12-23
  • 2022-12-23
  • 2021-05-25
相关资源
相似解决方案