如果喜欢我就继续,如不喜欢就删掉吧。
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:jackchou@tpts5.seed.net.tw。
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