在网页(客户端)c#中嵌入一个(服务器端)ActiveX控件

本文关键字:一个 服务器端 ActiveX 控件 客户端 网页 | 更新日期: 2023-09-27 17:50:54

我想嵌入一个ActiveX包装器(System.Windows.Forms.AxHost),这是由服务器创建并发送到客户端显示在网页上,并保持更新这可能吗?我认为可以使用对象来实现,但不确定如何使用c# ASP .Net

在网页(客户端)c#中嵌入一个(服务器端)ActiveX控件

阅读你的问题,你可能会更具体地问这个:

  • 我想要一个activex控件的实例,它在服务器上实例化,在客户端呈现,并保持最新,交互等,就好像它已经在客户端实例化。

这是不可能的。当您从服务器传递<object classid="sid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"/>时,您并没有传递该对象的实例。你正在向客户端发送一个指令来实例化和渲染那个对象。在一天结束时,http通信只是文本,而不是内存块和可执行代码(这就是实例化对象)。服务器输出的任何内容都必须在客户机上实例化。浏览器会对html标签这样做,如果对象

  1. 支持对象(java对象需要JVM, activex对象需要MS基础设施)
  2. 对象已安装或可安装代码必须在客户端执行所以代码必须到达那里)
  3. 本地安全设置允许这种事情(通常是和)越来越多的情况并非如此)

ActiveX控件本质上是客户端(最好避免使用更安全和广泛支持的技术来创建健壮的web UI,如ajax)

我相信这篇文章可能会对你有所帮助。

https://web.archive.org/web/20210619191631/https://www.4guysfromrolla.com/articles/052604 - 1. - aspx

我想引用这些评论,但是,记住这一点:在ASP中托管Windows控件。NET有几个值得讨论的限制。首先,它要求客户端机器至少安装了. net可重新发行版,并使用Internet Explorer 5.01或更高版本进行浏览。[…第二,ASP。. NET不能承载Windows窗体。您需要将这些部分抽象到Windows控件中。最后,由于Windows控件不是可以在服务器上运行的Web控件,因此在回发期间无法轻松设置或读取属性。