社区
API
帖子详情
vb能开发IIS插件吗?
Hotus
2011-10-08 01:07:53
vb能开发IIS插件吗?
找了半天好像没找到相关的参考资料,不知道VB行不行呢
谢谢
...全文
163
6
打赏
收藏
vb能开发IIS插件吗?
vb能开发IIS插件吗? 找了半天好像没找到相关的参考资料,不知道VB行不行呢 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
threenewbee
2011-10-08
打赏
举报
回复
严格地说,ASP脚本也可以算ISAPI插件——微软用C++写了ASP引擎(当然现在是内置在IIS里面,早期是作为插件的),而这个引擎本身没有什么实质的业务逻辑,它再调用ASP脚本完成相应的功能。
threenewbee
2011-10-08
打赏
举报
回复
[Quote=引用 3 楼 hotus 的回复:]
查了下,用VB好像确实不行
[/Quote]
当然有变通的方法:用C++编写一个ISAPI框架,把主要的逻辑放在一个VB写的COM DLL里面,让VC调用。
Hotus
2011-10-08
打赏
举报
回复
查了下,用VB好像确实不行
贝隆
2011-10-08
打赏
举报
回复
这个用VC更合适。
threenewbee
2011-10-08
打赏
举报
回复
你说的如果是ISAPI的话,VB官方是不支持的。因为VB缺乏制作标准DLL的能力。或许有Hack的办法,不过不建议你在生产环境中尝试。
如果有可能的话,使用Visual C++ 6.0(专业版或者企业版),提供了对ISAPI的支持。
现在还是人类
2011-10-08
打赏
举报
回复
VB是可以写出ISAPI的接口程序的(CGI模式),但是因为资源控制是VB的缺陷之一,没办法很好的控制住VB程序占用的内存和CPU使用率(VB的运行库),所以,即使写出来了也不见得能在实际应用中长期运行。如果想深入ISAPI接口,最好还是用C++ 或直接支持 Win32 SDK 开发方式的开发工具,否则这种CPU资源与内存分配的问题肯定是个大问题。
曾经我就用VB写过IASPI的接口程序,做了一个图片下载处理程序。但是最后还是因为内存和CPU占用过高等问题没有投入实际使用。因为用VB做出来的ISAPI接口是以CGI方式接口,每一次触发接口都是以进程为单位调用的。而每一个VB进程一启动最少要占个4-5MB的内存空间。这么计算,如果一个远程调用占用4MB,最多的同时连接数为几千个就把内存占用完了(具体看内存大小),然而,通常一个完整的 VB CGI 程序运行时对于内存的占用肯定超过很多,几MB甚至十几MB都可能(根据工程代码而言),所以吞噬完系统内存的速度可能很快。如果做的接口是jpg、gif、bmp等图片文件的接口,一个网页内可能就包含几十上百的文件,当IE取得HTM内容后,就会分析URL,采用多线程方式提交连接请求,这就意味着IIS在一两秒要处理一个或多个用户的可能几十个请求,就按4MB算,5个用户,同一个网页入口,包含20张图片文件,系统就要消耗 5*(20*4MB)=400MB内存,如果多几个用户访问呢?包含的图片量再大点呢?程序占用不止4MB呢?问题就更大了,系统都会跑死掉。
但别人的ISAPI又是如何跑的呢?
首先,别人的ISAPI是做指定格式的脚本分析的处理,这样就不会像图片这么夸张,经常一个用户需要同时处理几十个接口,再者是统一线程池管理,注意是“线程池”,不是“进程池”,因为进程在创建时需要加载很多DLL资源(比如VB的运行库和系统的API函数库),而每个进程都可以有多个线程,这些线程就可以基于这个进程的资源调用相关库函数地址执行程序和访问资源。因为线程是共享进程资源,所以就少了重复资源加载的情况,自然内存就节约了,而且节约的不是一点,是很多,再加上对所有的线程进行任务和队列管理,更有效的节约CPU使用情况。即使再多的请求,无非是放在任务队列中有效的按序按量执行,不会对系统造成多大的资源开销。
但是VB不支持API形式的动态库编译,也就没有办法写出标准的ISAPI接口,只能做类似EXE程序的CGI接口,这种多线程的模式就没办法实现。即使能实现,VB的线程也不是那么好管理的,因为VB有VB的运行库,这些运行库包管了VB的线程处理接口,与标准 Win32 SDK 的线程使用是有一点区别的,因为资源地址需要转换才能使用(这个可能有点难理解,涉及就比较深了),所以VB来开发这种ISAPI接口不是很合适,玩玩是可以,实际应用开来是没希望了。
ATGrid报表控件/
插件
V2.1.7.711
8、支持MIS
开发
的各种
开发
工具:如VC、
VB
、Delphi、C++Bulider、InterDev 9、支持WEB
开发
,FrontPage、InterDev、ASP.NEt、C# 10、EtCell内置支持
VB
Script脚本包括事件 11、在WEB上支持
VB
Script、...
一个牛人提供的GIS源码(很好)
Supermap Desktop 2003(地图编辑工具),Supermap IS 2003(GIS服务端),ASP+SQL Server 2000(
开发
语言和数据库环境),
IIS
5.0(WEB服务端),AutodeskExpressViewe3.1(Autodesk公司发布的浏览DWF文件的的客户端
插件
)等...
VB
.NET
开发
Excel
插件
实例课程
手把手教您如何快速
开发
一个属于自己的Excel
插件
,制作Excel众多功能,办公自动化,高效率办公,
开发
一个个性化的excel
插件
。我会从头到尾开始教学,
开发
过程常遇到什么问题,该如何解决。记录我
开发
excel
插件
的案例...
EtCell报表控件/
插件
(3.4.0.2)
8、支持MIS
开发
的各种
开发
工具:如VC、
VB
、Delphi、C++Bulider、InterDev 9、支持WEB
开发
,FrontPage、InterDev、ASP.NEt、C# 10、EtCell内置支持
VB
Script脚本包括事件 11、在WEB上支持
VB
Script、JavaScript...
EtCell报表控件/
插件
(V3.5.0.1)
8、支持MIS
开发
的各种
开发
工具:如VC、
VB
、Delphi、C++Bulider、InterDev 9、支持WEB
开发
,FrontPage、InterDev、ASP.NEt、C# 10、EtCell内置支持
VB
Script脚本包括事件 11、在WEB上支持
VB
Script、JavaScript...
API
1,486
社区成员
23,279
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章