ASP服务器端组件编程实例介绍
[前言:]ASP 编写服务器端应用程序时,必须依靠组件提供的强大的Web应用程序的功能,熟练使用ASP内建的以及第三方厂商提供的组件可以极大的提高开发效率。
Ad Rotator 组件参考 Ad Rotator组件创建一个Ad Rotator对象,该对象在Web页上自动轮换显示广告图像。当用户每次打开或重新加载Web页时,Ad Rotator组件将根据在Rotator Schedule文件中指定的信息显示一个新广告。 可以记录每个广告被多少个用户单击访问,方法是在Rotator Schedule文件中设置一个URL参数,将用户定向到重定向文件中。如果指定了此参数,那么当每次跳转到一个广告客户的URL时,都会在Web服务器的活动日志中作相应的记录。关于活动日志的详细信息,请参阅记录Web站点活动。 文件名 adrot.dll Ad Rotator组件。 重定向文件 可选文件,用于实现重定向并允许Ad Rotator组件记录每个广告被多少个用户单击访问。 Rotator Schedule文件文本文件,包含广告的显示计划和文件信息。此文件必须在Web服务器的某个虚拟路径上可用。 语法 Set AdRotator = Server.CreateObject("MSWC.AdRotator") 参数 AdRotator 指定AdRotator对象的名称,此对象通过调用Server.CreateObject创建。 注册表项 无。 属性 Border指定广告边框的大校 Clickable指定广告是否为超链接。 TargetFrame 指定显示广告的框架的名称。 方法 GetAdvertisement从数据文件中获取下一个计划广告的详细说明并将其格式化为HTML格式。 示例 下面的示例在用户每次查看Web页时显示不同的广告。 <% Set ad = Server.CreateObject("MSWC.AdRotator") %> <%= ad.GetAdvertisement("/ads/adrot.txt") %> 下面的HTML由GetAdvertisement方法生成且被添加到网页的输出中,以便显示Rotator Schedule文件中的下一个广告。 <A HREF="http://www.msn.com/isapi/adredir.asp?http://www.company.com/"> <IMG SRC="http://msnnt3web/ads/homepage/chlogolg.gif" ALT="Check out the new Technology Center" WIDTH=440 HEIGHT=60 BORDER=1></A> Rotator Schedule文件包含的Ad Rotator组件用于管理和显示各种广告图象的信息。在该文件中,用户可以指定广告的细节,例如广告的空间大孝使用的图象文件以及每个文件的显示时间所占百分比。 Rotator Schedule文件由两部分组成。第一部分设置应用于轮换安排中所有广告图象的参数;第二部分指定每个单独广告的文件和位置信息以及应当接收的每个广告的显示时间所占百分比。这两部分由全是星号(*)的一行隔开。 在第一部分中有四个全局参数,每个参数都由一个关键字和值组成。所有的参数都是可选的。如果用户未指定全局参数的值,则Ad Rotator将使用默认的值。在这种情况下,文件的第一行必须只有一个星号(*)。 语法[REDIRECT URL] [WIDTH numWidth] [HEIGHT numHeight] [BORDER numBorder] * adURL adHomePageURL Text impressions |
REDIRECT /scripts/adredir.asp WIDTH 440 HEIGHT 60 BORDER 1 * http://kabaweb/ads/homepage/chlogolg.gif http://www.bytecomp.com/Check out the ByteComp Technology Center20 http://kabaweb/ads/homepage/gamichlg.gif -Sponsored by Flyteworks20 http://kabaweb/ads/homepage/ismodemlg.gif http:// www.proelectron.com/28.8 internal PC modem, only $99 80 http://kabaweb/ads/homepage/spranklg.gif http://www.clocktower.com/The #1 Sports site on the net 10 |
浏览器性能组件
对于ASP的扩展组件,有些大家已耳熟能详,有些则还陌生的很,写这篇文章的的意图无非想抛砖引玉,在各位对ASP几大对象已烂熟于心时,不妨玩玩一些不常用的可扩展组件,相信会对各位的ASP编程有很大的启发。(这篇文章的内容来自MSDN,对其了若指掌的朋友自不必看。还有,小妹的耐 心不好,如果写完了这篇没有长性就此罢笔,望各位在大骂的时候留点口德,多谢多谢。):b [center]Browser Capabilities Component——浏览器性能组件[/center] 浏览器性能组件创建一个浏览器类型(BrowserType)对象用以向你的脚本描述客户端浏览器能力。 一旦一个浏览器连接到Web服务器,浏览器会自动将一串用户代理HTTP报头(User Agent HTTP Header)传送到服务器。该报头为一ASCII字符串用以识别该浏览器及其版本号。浏览器类型(BrowserType)对象将该报头与Browsercap.ini文件中的条目进行比较。 如果找到匹配的条目,浏览器类型(BrowserType)对象假设该浏览器具备Browsercap.ini文件中所描述的属性。 如果对象没有在Browsercap.ini文件中找到与报头匹配的条目,浏览器类型(BrowserType)对象假设该浏览器具备默认浏览器的属性。如果没有匹配条目并且Browsercap.ini文件没有定义默认浏览器的各项设置,则浏览器类型(BrowserType)对象将该浏览器的各项属性值赋为“Unkown”。 通过升级Browsercap.ini文件,你可以方便的把浏览器属性或者对新浏览器的描述加入到这个组件(稍候介绍如何升级Browsercap.ini文件)。 文件名 Browsercap.dll 浏览器性能组件 Browsercap.ini 一个用以描述浏览器属性的文本文件,该文件必须和Brwosercap.dll文件处于同一目录下 语法 Set BrowserType = Server.CreateObject("MSWC.BrowserType") 参数 BrowserType——用Server.CreateObject语句创建的浏览器类型(BrowserType)对象的名字 注册条目 无需注册 例子 以下例子给出如何用浏览器性能组件取得当前浏览器一些属性。<% Set bc = Server.CreateObject("MSWC.BrowserType") %> <table border=1> <tr><td>Browser</td><td> <%= bc.browser %> </td></TR> <tr><td>Version</td><td> <%= bc.version %> </td></TR> <tr><td>Frames</td><td> <% if (bc.frames = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>Tables</td><td> <% if (bc.tables = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>BackgroundSounds</td><td> <% if (bc.BackgroundSounds = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>VBScript</td><td> <% if (bc.vbscript = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>JScript</td><td> <% if (bc.javascript = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> </table> |
[; comments] [HTTPUserAgentHeader] [parent = browserDefinition] [property1 = value1] ... [propertyN = valueN] [Default Browser Capability Settings] [defaultProperty1 = defaultValue1] ... [defaultPropertyN = defaultValueN] |
;;ie 4.0 [IE 4.0] browser=IE Version=4.0 frames=TRUE tables=TRUE cookies=TRUE backgroundsounds=TRUE vbscript=TRUE javascript=TRUE javaapplets=True ActiveXControls=TRUE beta=False ;;ie 4.01 [Mozilla/2.0 (compatible; MSIE 4.01*; Windows 95)] parent=IE 4.0 version=4.01 minorver=01 platform=Win95 ; Default Browser [Default Browser Capability Settings] browser=Default frames=FALSE tables=TRUE cookies=FALSE backgroundsounds=FALSE vbscript=FALSE javascript=FALSE |
属性名 | 描述 |
ActiveXControls | 指定浏览器是否支持ActiveX控件 |
backgroundsounds | 指定浏览器是否支持背景音乐 |
beta | 指定浏览器是否是测试版 |
browser | 指定浏览器的名字 |
cdf | 指定浏览器是否支持Web发布的频道解释定义(Channel Definition Format) |
cookies | 指定浏览器是否支持cookies |
frames | 指定浏览器是否支持帧显示 |
Javaapplets | 指定浏览器是否支持Java applets |
javascript | 指定浏览器是否支持javascript |
platform | 指定浏览器运行所需的操作系统 |
tables | 指定浏览器是否支持表格 |
vbscript | 指定浏览器是否支持vbscript |
version | 指定浏览器的版本 |
<OBJECT RUNAT=Server SCOPE=Application ID=Counter PROGID="MSWC.Counters"> </OBJECT> |
注册表项 无。 注释 在您的站点上仅创建一个 Counters 对象。这一单个 Counters 对象可以创建任意数量的独立计数器。 注意 对于 Windows® 95 上的 Personal Web Server,已在默认的虚拟目录下的 global.asa 文件 中指定了一个 Counters 组件。可以通过调用 Counters.Get、Counters.Increment、Counters.Remove 和 Counters.Set 使用组件创建的 Counters 对象,就好象它是内建的一样。您不可以创建 Counters 对象的其他实例。 方法 Get 返回计数器的值。 Increment 计数器的值加一。 Remove 从 counters.txt 文件中删除计数器。 Set 将计数器的值设为一个特定的整数。 示例 通过将 ID 属性设置为 Counter,在 global.asa 文件中创建 Counters 对象的实例: <OBJECT RUNAT=Server SCOPE=Application ID=Counter PROGID="MSWC.Counters"> </OBJECT> 然后就可以在某一页上使用 Counters 对象创建全部所需的计数器: There have been <%= Counter.Increment('defaultPageHits') %> to this site. 然后在另一页上就可以使用下列方法增加计数器的值: You are visitor number<%= Counter.Increment('LinksPageHits') %> to this page. 注意 该组件可从包含 IIS IIS Resource Kit 的 CD 中得到。 Get方法 Get 方法根据计数器的名称返回此计数器的当前值。若此计数器不存在,则该方法创建它并将其置为 0。 语法 Counters.Get(CounterName) 参数 CounterName 包含计数器名称的字符串。 示例 用 <%= Counters.Get(CounterName) %> 可显示计数器的值。用 <% countervar = Counters.Get(CounterName) %> 将计数器的值赋给一个变量。 下列脚本显示关于所喜爱的颜色的民意测验的投票记分。
<% If colornumber = "1" Then Counters.Increment("greencounter") Else If colornumber = "2" Then Counters.Increment("bluecounter") Else If colornumber = "0" Then Counters.Increment("redcounter") End If End If End If %> <P>Current vote tally: <P>red: <% =Counters.Get("redcounter") %> <P>green: <% = Counters.Get("greencounter") %> <P>blue: <% = Counters.Get("bluecounter") %> |
Increment方法
Increment 方法根据计数器的名称,将该计数器的值加 1,并返回计数器的新值。若计数器不存在,此方法将创建该计数器并将其值设为 1。 语法 Counters.Increment(CounterName) 参数 CounterName 包含计数器值的字符串。 示例 使用 <% Counters.Increment(CounterName) %> 可增加计数器的值。使用 <%= Counters.Increment(CounterName) %> 可增加和显示计数器的值。 为了获取计数器的值,可使用 Counters.Get。要将计数器的值设为一个特殊值,请使用 Counters.Set。 下列代码实现联机页访问计数器。 <P>There have been <%= Counters.Increment("hits") %> visits to this Web page. </P> 在上面的示例中,每次客户端向服务器发出页请求时,都使用 Counters.Increment 将计数器的值加 1。 Remove方法 Remove 方法根据计数器的名称,从 Counters 对象和 counters.txt 文件中删除计数器。 语法 Counters.Remove(CounterName) 参数 CounterName 包含计数器名称的字符串。 示例 下列代码从 counters.txt 文件中删除计数器 hitscounter 。 <% Counters.Remove(hitscounter) %> Set方法 Set 方法根据计数器的名称和一个整数参数,将计数器设置为该整数值,并返回此新值。若该计数器不存在,则 Counters.Set 创建计数器并将其值设为这一整数。 要获取计数器的值,可使用 Counters.Get。要使计数器的值加一,可使用 Counters.Increment。 语法 Counters.Set(CounterName, int) 参数 CounterName 包含计数器名称的字符串。 int CounterName 的新的整数值。 示例 下列代码将访问计数器 pageHits 重置为 0。 <% Counters.Set(pageHits, 0) %> 用CDO组件来发邮件 我们这里来玩玩发邮件的功能,当然,我们不能向perl,php一样有内置的发邮件的东东,嘿嘿!我们还是得用组件,不过,这个组件可不需要你花钱的啊!它是iis中SMTP中自带的! 我们来对其发邮件的功能来一次快闪吧! Set cdo=Server.CreateObject("CDONTS.NewMail") cdo.send "webmaster@aspcn.com","dd@263.net","ASP中华网的来信","你好啊!",0 Set cdo=Nothing !!!!???就这么的短!!!不可能吧! 嘿嘿,你来试试,如果你有服务器,把dd@263.net改成你的电子邮件,再把这个代码拿到上面去试试,你一定能够收到信的! 这是发信的最直接的方法!格式是: cdo.send fromAddress,ToAddress,Subject,Body,Importance 当然,我们要让它复杂一点也是可以的,我们来看看,把上面的例子写详细点!Set cdo=Server.CreateObject("CDONTS.NewMail") cdo.From="webmaster@aspcn.com" cdo.To="dd@263.net" cdo.Subject="ASP中华网的来信" cdo.Body="你好啊!" cdo.MailFormat=0 cdo.BodyFormat=0 cdo.Importance=0 cdo.Send Set cdo=Nothing |
from
其他文章: ASP 编程中20个非常有用的例子[转] 在ASP中调用dll 软件构件技术在MIS开发中的应用 J2EE中间件集成企业应用 WINDOWS程式设计--动态链接库(2) Hooks(钩子)监听消息的方法 aspjpeg组件高级使用方法介绍 |