当前位置: 首页 > 图文教程 > 网络编程 > ASP > 5个实用的ASP网站功能(GIB5)

ASP
关于网站文件自动备份程序的一点思考
DBTree 1.3.2
抽取10万条数据,想起GetRows()
一份ASP内存的释放的实验报告
[整理版]ASP常用内置函数
Jmail组件发送邮件之绝对能用的函数
虚拟主机重启代码
Access 开发人员常犯错误大全
用Asp如何实现防止网页频繁刷新?
ASP 中使用 HTTP 协议发送参数详解
为什么 Windows2003 的 IIS6.0 不能上传超过 200K 的文件?
ASP类的写法
实例学习如何在ASP中调用DLL
被动式统计网站在线人数
[原创]完美解决ASP 不能更新。数据库或对象为只读。
5天学会asp
Wrance的图片系统目录直读版1.0
信息发布中的判断过期和有效期的东西
小偷程序2
一个ASP中的数组

5个实用的ASP网站功能(GIB5)


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

  如果喜欢我就继续,如不喜欢就删掉吧。

5個實用網站功能速成

刊登於RUN!PC 1999/2月號

作者 喬篷科技 周世雄

本文重點

在前幾期的IIS 4.0專欄當中,我們看到了威力強大的IIS(Internet Information Server)4.0之30個特異功能、SSL與數位認證、如何使用ASP設計一個生動的網站、如何將Web資料庫化、IIS 4.0網站進階管理、如何將網站元件化、Transaction Server三層式架構技術速成、和SQL Server 7.0網站資料庫的技術等單元。本期將探討5個實用的ASP網站功能。

筆者為微軟台北廳、經銷商訓練、TechNet等研討會講師,和微軟之友、RUN!PC雜誌專欄作者,著作有「ASP網站熱門應用技術」、「微軟熱門Web技術速成班」等網站網頁設計十幾本電腦書籍。現任「喬篷科技」公司總經理,從事Internet、Intranet之Web資料庫應用設計、網站網頁規劃架設等服務。

IIS 4.0示範網站:www.asp.com.tw

連絡E-mail:[email protected]

 

5個實用的ASP網站功能

前幾期學會了如何將網站asp化、資料庫化、和元件化的「網站3化」後,本期將教您如何善用5個實用的ASP網站功能。

5個實用的ASP網站功能如下:


Transaction功能:「同生共死」的異動(Transaction)功能。


SSL功能:安全傳輸。


Message Queue功能:非同步處理功能。


中文全文檢索功能。


郵件傳送功能。

 

網站如何加入Transaction功能呢?

如何於您的網站加入異動(Transaction)功能呢?

IIS(Internet Information Server)與MTS(Microsoft Transaction Server)緊密整合,資料庫更動可以有「同生共死」的異動(Transaction)功能。

當asp程式中所有的資料庫更動都成功時,才算成功;有一個資料庫的更動失敗時,已經更動的資料庫資料將自動恢復(rollback),這就是所謂的異動(Transaction)功能。

譬如從甲帳戶匯款到乙帳戶時,若乙帳戶的資料庫更動失敗時,已經更動甲帳戶的資料庫資料將自動恢復(rollback)。數個資料庫的資料更動,不是「同生」,就是「共死」。

並不是所有資料庫都提供異動(Transaction)的功能,Access沒有提供,SQL Server和Oracle則提供異動(Transaction)的功能。

asp程式中異動(Transaction)功能的有效範圍為一個asp程式,換句話說,這個asp程式中所有的資料庫更動都具有異動(Transaction)功能。

如何於asp程式中告訴IIS要做異動(Transaction)功能的處理呢?

方法為於asp程式碼當中的第一行加入「TRANSACTION=Required」,告訴IIS這一個asp程式使用異動(Transaction)功能的處理方式,asp程式如下:

<%@ TRANSACTION=Required LANGUAGE="VBScript" %>

若此asp程式內所有程式(包括更新數個資料庫)執行成功時,將呼叫OnTransactionCommit()副程式。若執行失敗(包括更新任何一個資料庫失敗)時,將呼叫OnTransactionAbort()副程式。

您可以呼叫SetComplete方法表示執行成功,或呼叫SetAbort方法表示執行失敗。

譬如asp檔案如下:

<%@ TRANSACTION=Required LANGUAGE="VBScript" %>

...

<% Set obj1 = Server.CreateObject("testobj.cls1") %>

<% = obj1.data3t(1,10) %>

<%

Sub OnTransactionCommit()



end sub

Sub OnTransactionAbort()



end sub

%>

設計有Transaction功能的元件

如何設計有異動(Transaction)功能的元件呢?

方法為ActiveX DLL中使用asp的ObjectContext物件,譬如說於Visual Basic 的ActiveX DLL定義如下:

Dim objContext As ObjectContext

Set objContext = GetObjectContext()

執行成功時,呼叫SetComplete方法,執行失敗時呼叫SetAbort方法以釋放資源。

譬如說於Visual Basic 的ActiveX DLL,其Visual Basic程式碼如下:

Function data3t(input1, points)

On Error GoTo Error1

Dim objContext As ObjectContext

Set objContext = GetObjectContext()

...

objContext.SetComplete

Exit Function

Error1:

objContext.SetAbort

End Function