简单的ActiveX 控件

ArLi2003 2003-09-06 11:07:05
不少人发消息问我 activex 控件的问题,传统的activex 就不提了,说下.net 上的简单应用吧(高级的我也不太了解,有不对请指正):

建一个 classlib,内容如下:

//Class1.cs:
using System;

namespace activex_html
{
public class Class1
{
public string mod(object o) { //此例为方法
return System.Environment.OSVersion.ToString();
}
}
}

编译成activex_html.dll,放到WEB 目录(与下面网页同等目录)下

写一个网页,内容如下:

<object id="myactivex" classid="http:activex_html.dll#activex_html.Class1"></object>

<script>
function c(obj){
document.all['t'].innerHTML = document.all['myactivex'].mod();
}
</script>

<body onload="c(this)">
<span id="t">?1</span>
</body>

浏览一下就知道了

要说明的是,.net 上的activex 是基于.net framework管理的,而不是IE 的安全或者系统的策略来管理,所以默认它有很高的安全限制,比如:

return System.Environment.UserName;

这就不被允许,而.net 要求你必须对它进行安全和权限配置才允许你执行和访问受限的资源。

上面的问题是指外网访问,不知道的朋友注意一下:

用机器名和网卡IP 访问是不同的,因为机器名访问是属于本地internet(同时也会自动使用windows 认证) 而ip(不是127.0.0.1 而是网卡或外网IP)访问就等于是外网访问

上面这种做法是以.net 写的DLL 在客户端RUN,所以也是一样要有.net framework 而server 端不需要

至于传统的就是写activex 或 ctrl dll,然后regsvr32 到注册表生成一个clsid,抄下这个ID 放在HTML 里的object classid="clsid=xxxx" 这就属于传统的做法,会自动下载它指定的CAB 包并安装,安装后就算是本地LIB 基本上不受限
...全文
32 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
张张好 2003-09-09
  • 打赏
  • 举报
回复
不要分好象浪費了
呵呵
大健 2003-09-09
  • 打赏
  • 举报
回复
学习~~
这么快结贴,浪费了这编文章了~~
sqhua 2003-09-09
  • 打赏
  • 举报
回复
up

感谢,学习ing
hq1305018 2003-09-08
  • 打赏
  • 举报
回复
up!!!

感谢你的讲解
rouser 2003-09-08
  • 打赏
  • 举报
回复
忘記UP了,補一下

UP!!
rouser 2003-09-08
  • 打赏
  • 举报
回复
不要分好象浪費了
呵呵
ArLi2003 2003-09-08
  • 打赏
  • 举报
回复
最后一天,明天结帐,UP 有分
colin666 2003-09-08
  • 打赏
  • 举报
回复
gz
xmqy110 2003-09-07
  • 打赏
  • 举报
回复
STUDY
hmjwdmh 2003-09-06
  • 打赏
  • 举报
回复
ok.
寒星 2003-09-06
  • 打赏
  • 举报
回复
好。谢谢。
jiezhi 2003-09-06
  • 打赏
  • 举报
回复
mark
rwdx 2003-09-06
  • 打赏
  • 举报
回复
up
ArLi2003 2003-09-06
  • 打赏
  • 举报
回复
也就是说.net framework 将过去的activex 重新进行了定义,上升到了分布式应用程序的等级,所以也只要指定它所能获得的权限就可以允许在任何地方运行。

(控制面板-管理工具-.net framework 1.x 配置)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧