Top > ASP .NETでないASP。いわゆるレガシーASPについて。 ASPのデバッグ
ローカルの IIS で ASP サイトを動かしている場合う、Visual InterDev または Microsoft Script Debugger で ASP のデバッグができます。 たまに原因不明でデバッグできないこともあるようです。 ASP ページをデバッグするための VBScript クラスまたは JScript オブジェクトを作成する方法
http://support.microsoft.com/kb/288965/ja ASPでOracleに接続するときの注意点
ASP で、ORACLE との連携を行うときに、注意すべき点を挙げておきます。 soXXX(StaticObject)について
EXXX-XxxxのASPに出てくるsoXXXという名前の変数は、global.asaで次のようにして宣言しています。 <OBJECT RUNAT=Server SCOPE=Session ID=xxxxxx PROGID="xxx.yyy"> </OBJECT> ASPでxxxxxxという変数名で最初にアクセスしたときにIISが自動的にクラスxxx.yyyを作成し、ASPに渡します。 参考: サーバサイドインクルード(SSI)
<!-- #Include file="../common/SessionCheck.asp" --> これをサーバサイドインクルードといいます。 SSIには <!-- #Include file="header.txt" --> と <!-- #Include virtual="hoge/moge/header.txt" --> という2種類の方法があり、違いはファイルのパスを絶対パスで指定するか相対パスで指定するかだけです(たぶん)。 注意:
ということが起こるので注意です。 Application.Lock
アプリケーション変数を更新するときは、排他のために必ず Application.Lock を行います。 > Application.Lock() > <排他したい処理(一意のID発行など)> > Application.UnLock() これだけだとロックかからなかったはずですね。 Lockの後にアプリケーション変数にアクセスしにいったときにはじめてロックされたはずです。 なので、ダミーのアプリケーション変数を一つつくって、そこに何か適当な値でもいれてみたらいいんじゃないでしょうか。 このあたりの動作はASPでも同じように動いていたと思います。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=26090 Application.Lock ここ← ファイル操作 Application.UnLock 上記「ここ」の所で、アプリケーション変数(ダミーでかまわない)に何か値を代入してやると、結果としてファイルに対しての排他制御ができます。 COM(ActiveX)DLLの作り方
ASP関連(VisualBasic6.0によるActiveX.DLLの利用) ASPからコールするCOMコンポーネント:.knowledge - frog.raindrop.jp Visual Basic DLL プロジェクトのプロパティを構成し、IIS、MTS、または COM+ で実行する方法 ActiveX コンポーネントで作成されるレジストリ エントリ
regsvr32 で DLL を登録したとき、レジストリのどこに DLL のパスが書き込まれるのか 次の記事がその疑問に答えてくれます。 ActiveX コンポーネントで作成されるレジストリ エントリ CreateObject の速度
CreateObject 自体はけっこう速いようです。 次の VBScript を time.vbs として保存して実行すると、 Pentium(R) 4 CPU 3.00GZHz 1.00 GB RAM の環境で 100回 23秒 0.23 秒/回 という結果になりました。 SysService.CSystemInfo でなく EventService.CSchedule などに変えると、 Dim a a = Now() Dim Count Count = 100 For i = 1 To Count Set oSys = CreateObject("SysService.CSystemInfo") Set oSys = Nothing Next Dim b b = Now() Dim diff diff = (b - a) * 24*60*60 MsgBox Count & " 回" & vbNewLine & _ Round(diff, 6) & " 秒" & vbNewLine & _ Round(diff/Count, 6) & " 秒/回" asp.dll
ASPの本体はC:\WINDOWS\system32\inetsrv\asp.dllです。 配列の正しい受けとり方
1つのformの中に同じnameの要素が複数あると、それらの値が", "区切りで連結されて送られる。 Response.Write "t1 の要素は " & Request.Form("t1").Count & "個<br>" Response.Write "t1=[" & Request.Form("t1") & "]<br>" For i = 1 To Request.Form("t1").Count Response.Write "t1(" & i & ")=[" & Request.Form("t1")(i) & "]<br>" Next ASPリンク集
ASP/VBScript講座 COMリンク集
COM総合研究所 - COM研究室 COM の世界を斬る! |