当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > COM与基于组件技术的开发和应用模式(一)

ASP.NET
使用NUnit进行单元测试
[FxCop.设计规则]1. 抽象类不应该拥有构造函数
遍历XML文档返回二维数组(ASP)(更新版)
c#中的interface abstract与virtual
[VB.NET] Single & Double
asp.net验证码生成类(参考)
JAVA开发者应该去的20个英文网站 [摘]
C#中关于GDI+输出的问题
XML 命名空间提供了一种避免元素命名冲突的方法。
VS.NET 2005 Beta 2初体验(3)—操作SQL Mobile数据库
VS.NET 2005 Beta 2初体验(1)-用C#开发Managed代码
VS.NET 2005 Beta 2初体验(2)-用C++开发Native代码
VS.NET 2005 Beta2初体验(4)-Notification控件
XmlHttp异步获取网站数据的例子
利用C#编写一个简单的抓网页应用程序
C#中结构与类的区别
在.NET中实现彩色光标,动画光标和自定义光标
C#2.0新特性探究之模拟泛型和内置算法
C#2.0 新特性探究之委托与匿名委托
获取本机的本地上网IP地址

ASP.NET 中的 COM与基于组件技术的开发和应用模式(一)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 94 ::
收藏到网摘: n/a



从一个小例子开始,我们在上网浏览网页的时候经常需要看到一些多媒体的信息,
比如一端小录象,那么是不是在包括IE在内的浏览器会给自己加上一个多媒体播
放功能呢?答案显然是否定的。但显然我们也看到了听到了那些我们所需要的内容。
大家一定会说,这是因为我们的系统中有像Media player,RealOne Player这样
的播放软件,浏览器在需要它的时候会自动调用它。OK,有了这样的亲身感受,在
接下来的学习COM的技术中你就会非常的轻松。
但是到这还得向您补充一点关于服务器与客户端的知识,因为在后面的内容中经
常涉及到。就像“文化”一词的解释,有他狭义与广义两方面的解释,狭义的可能
就是上小学甚至初中时老师说的科学文化知识,文化水品等等,总之就是一个人
掌握的知识;那现在呢,换一个角度、说民族文化,企业文化,甚至饮食文化等等
等等,这些都是文化。那关于服务器与客户端呢?前面我们学习数据库的时候有
sqlserver服务器,学习ASP的时候有IIS服务器,这些就可以称为我们所理解的
狭义的服务器,而像涉及到数据库的应用程序,浏览器这些就是客户端,那广义的
呢,我们可以说,凡是调用或使用其他程序,组件,甚至更微小的程序单位的程序
就是客户端,而被掉用的一方就是服务器。这样的话服务器与客户端的定义就不是
绝对的了,在不同的功能调用关系中他们之间的位置可以完全转化。
那么到底什么是COM呢?我们不妨从上面的例子中进行分析,首先正在使用的一个应
用程序(IE)需要某种功能(上面是播放录象),而它自己却不具备,那么我们解决
问题的方法显然是从新开发下个版本,使它实现这样的功能,这对我们程序员听起来
显然不是什么高兴的事情,那有别的方法吗?对了,就像上面的例子中看到的那样,
它可以使用别的实现了这一功能的应用程序(Media player,RealOne Player),
这样的话根据上一段的解释,IE就应该是客户端,而多媒体播放器就应是服务器。现在

又有新问题出现了,那IE怎么找到RealOne Player呢?别忘了windows操作系统的核
心文件system.dat(注册表),我们每一个装在windows上的程序都是必须在注册表中
注册过的,然后各种程序可以根据注册表方便的找到它所需要的哪个。
OK,那现在我们就来说COM吧,在上面的例子中,我们遇到了这样的麻烦,我们希望可以
像使用自己应用程序功能那样的使用别的应用程序的功能,可是自己却不知道该怎么做,
这样的话COM出来了,它对我说:小伙子,你应该这样做,找一个地方,专门注册你的程
序,而且你的这些程序必须是实现了某种接口的,在那地方你要详细说明他们的功能,标
明他们的地址,这样在需要的时候可以很方便的找到他们。这就是COM,他告诉我的就这
么多。所以说COM是只是标准,是告诉的一个实现准则,他是指导思想,是一个蓝皮书,
他完全是理论上的,而不是一个实现了的东西。
那上面的的注册表以及那些程序呢?对,他们就是COM技术的一种实现,而我们看到的结果,就是这种实现技术的一种表现形式。